#python #pandas #floating-accuracy
Вопрос:
У меня есть следующий фрейм данных:
Direction Date Market Quantity Price Commission Charges
0 S 29/12/2020 IBTM 38.46538070 12.242512 0.0 0
1 S 29/12/2020 IDTG 1131.17689270 2.554843 0.0 0
2 S 29/12/2020 SGLN 563.28337820 7.236522 0.0 0
df[«Количество»] float64
— это тип dtype.
Всякий раз, когда я сохраняю фрейм данных в файл .csv, я получаю следующее:
таким образом, теряется некоторая точность для некоторых значений в df[«Количество»].
Я уже пробовал следующее:
df['Quantity'] = df['Quantity'].map(lambda x: '%.8f' % x)
и затем:
df.to_csv(r'/Users/Example.csv', index=False, float_format='%.8f')
но я все равно получаю тот же результат. Есть ли способ сохранить количество десятичных знаков при сохранении df.to_csv
?
Комментарии:
1. Вы уверены, что все, что вы используете для отображения csv-файла, не является усечением чисел только для визуализации? Можете ли вы попробовать проверить, есть ли у вас одинаковые десятичные дроби, открыв файл csv с помощью текстового редактора, например Блокнота?
2. @Simone Спасибо за ваш комментарий — правильное количество десятичных знаков отображается, когда я открываю файл .csv в текстовом редакторе. Однако единственный способ показать все десятичные знаки в моем сохраненном файле .csv-это вручную увеличить десятичные знаки в Excel.
3. Итак, ваш код на Python делает то, что вы хотите, это просто вопрос форматирования Excel.