#python #pandas #series
#python #панды #Серии
Вопрос:
У меня есть фрейм данных, где значения времени составляют что-то вроде 8.000024 из-за высокой частоты дискретизации. Когда я извлекаю эти значения из DF, в серии отображаются значения времени как 8.0, и я хотел бы иметь полные значения. Как мне это сделать? Мой код выглядит следующим образом:
x = str(input('Enter file name with extension: '))
df = pd.read_csv(x, delimiter=";", dtype=float, na_values=["-∞", "∞"],) # loads the csv files
time = df['Time'].astype('float')
time.round(6)
print(time)
Комментарии:
1. Похоже, проблема заключалась в преобразовании из файла ASCII в CSV. Я вижу все десятичные значения в файле ASCII, но не в файле CSV. Я открыл его в Блокноте и сохранил как CSV-файл. Кто-нибудь знает, как это можно решить?
Ответ №1:
Я запустил ваш код, и результат
import pandas as pd
df = pd.DataFrame({
"Time": [
6.001234154,
7.000124131,
8.000024465,
9.00000112234,
10.00000023254,
11.000000012410149,
]
})
time = df['Time'].astype('float')
time.round(6)
print(time)
Убедитесь, что данные указаны правильно в ваших исходных файлах.
Не могу сказать больше, поскольку ваш пример не воспроизводим.
Если у вас все еще есть проблемы, пожалуйста, предоставьте фрагмент / экспорт из вашего исходного файла.
0 6.001234
1 7.000124
2 8.000024
3 9.000001
4 10.000000
5 11.000000
Name: Time, dtype: float64
Редактировать
Исходный файл был связан. И первая строка файла 8.00E 00;3.09E-03;1.97E-03;3.41E-03;3.66E-03;3.88E-03;2.44E-03
Поэтому при повторном сохранении вашего ascii в формате csv числа должны быть округлены до 2 значащих цифр.
Комментарии:
1. Моим исходным файлом был ascii, который я повторно сохранил как CSV, а также удалил несколько строк. Может ли это быть причиной?
2. Ссылка на файл здесь !:
3. отредактировал мой ответ
4. Есть ли у вас идея, как это округление можно увеличить до 6 цифр?
5. Вы должны отдельно спросить об этом шаге / проверить, что вы там делаете
Ответ №2:
Оказывается, я мог напрямую импортировать файл .asd, используя pd.read_csv
x = 'filename'
df = pd.read_csv(x, skiprows=12, delimiter=";", dtype=float, na_values=["-∞", "∞"])