Панды - read_csv научная запись большое количество - PullRequest
0 голосов
/ 23 сентября 2019

Я пытаюсь прочитать CSV-файл с пандами, у которого есть несколько строк в научной нотации.

Когда он читает значения, он не захватывает истинное основное число.Когда я повторно назначаю данные, истинное значение теряется.

df = pd.read_csv('0_IDI_Submitter_out.csv')

Ниже приведены основные истинные значения, которые я пытаюсь сохранить:

      INPUT: Extra 1
0     8921107
1     56300839420000
2     56207557000000

Однако, панды читают это как

 INPUT: Extra 1
0     8921107
1     5.63008E+13
2     5.62076E+13

Если я пытаюсьчтобы написать новый CSV или использовать эти данные, значения отображаются как:

 INPUT: Extra 1
0     8921107
1     56300800000000
2     56207600000000

Как я могу заставить панд читать истинное число, а не научную запись, которая заставляет его преобразовывать неправильно?

Ответы [ 2 ]

1 голос
/ 23 сентября 2019

Не могу воспроизвести вашу проблему, но, возможно, это сработает?

df = pd.read_csv('0_IDI_Submitter_out.csv', dtype={'INPUT: Extra 1':np.object_})

Также проверьте dtypes вашего фрейма данных:

result = df.dtypes
print(result)
0 голосов
/ 24 сентября 2019

Проблема заключается в том, что открытие CSV-файла в Excel, который содержит большие числа или строки, которые отображаются в виде больших чисел, таких как коды продуктов, SKU, UPC и т. Д., Автоматически преобразуются в научную нотацию.Как только это будет сделано, вам придется вручную войти в Excel и переформатировать, но попытка сделать это из Pandas не представляется возможной, и целостность данных будет потеряна.

Однако, если я никогда не откроюфайл в Excel и работа над ним чисто через панд, тогда все хорошо.Точно так же, если вы работаете исключительно в Excel, вы тоже хороши.

Мой окончательный вывод заключается в том, что при работе с большими числами или строками, которые отображаются в виде больших чисел, таких как коды продуктов или UPC, лучше не смешивать панд сExcel.В качестве альтернативы, я только начал сохранять все свои фреймы данных в виде файлов рассылки вместо CSV.

Надеюсь, что это поможет кому-нибудь в будущем.

Спасибо

...