Получите результаты со всеми значениями после запятой в серии pandas

#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=["-∞", "∞"])