У меня есть список чисел с плавающей запятой, которые я хотел бы добавить в фрейм данных в качестве нового столбца. У каждого числа с плавающей запятой примерно от 9 до 10 десятичных знаков, и мне нужны все они. Проблема в том, что когда я добавляю список в фрейм данных в качестве нового столбца, я теряю десятичные дроби (их остается только четыре). Методы, которые я использовал для добавления списка, были сначала pd.concat, а затем просто созданием новой переменной в фрейме данных, которая в точности совпадает со списком, но ни один из них не работал.

my_list
[0.0,
 0.0,
 0.039403929840504,
 0.000020304030304,
 0.0,
 0.00010000000000331966,
 0.0,
 0.0,
 9.99999999891088e-05,
 0.00010000000000331966,
 0.0]

Это список, и я хотел бы добавить его в фрейм данных в качестве нового столбца без потери десятичных знаков. Кстати, фрейм данных имеет такое же количество строк, что и элементы в списке.

0
TomasC8 10 Фев 2021 в 23:46

1 ответ

Лучший ответ

Вы не теряете точность, это просто не распечатывается

In [18]: my_list
Out[18]:
[0.0,
 0.0,
 0.039403929840504,
 2.0304030304e-05,
 0.0,
 0.00010000000000331966,
 0.0,
 0.0,
 9.99999999891088e-05,
 0.00010000000000331966,
 0.0]

In [19]: df = pd.DataFrame(my_list)

In [20]: df
Out[20]:
           0
0   0.000000
1   0.000000
2   0.039404
3   0.000020
4   0.000000
5   0.000100
6   0.000000
7   0.000000
8   0.000100
9   0.000100
10  0.000000

In [21]: df.loc[3][0]
Out[21]: 2.0304030304e-05
1
politinsa 10 Фев 2021 в 20:58