Проблема усечения с длинным целым числом 19 di git - PullRequest
1 голос
/ 17 января 2020

DataFrame

Я загрузил файл CSV из веб-службы. Когда я импортирую CSV, используя pandas.read_csv, идентификаторы длиной 19 di git усекаются до десятичных знаков. Затем я использую pd.options.display.float_format = '{:.6f}'.format для отображения идентификаторов в полном объеме. Однако когда я сравниваю идентификатор с идентификатором в веб-службе, python полностью изменил последние 3 цифры, сохранив только первые 16 цифр. Я думал, что это проблема csv-файла, когда я загружал его, но когда я использую Блокнот, чтобы открыть его, идентификаторы такие же, как в веб-службе. Я пробовал что-то вроде

df = pd.read_csv(filepath, dtype={'ID':str})

и

df = pd.read_csv(filepath, dtype={'ID':np.int})

, но коды не работают.

Я приложил скриншот DataFrame для лучшей иллюстрации моего проблема. Есть ли способ сохранить идентификаторы без изменений? Спасибо.

1 Ответ

0 голосов
/ 17 января 2020

Для меня решение по умолчанию работает, но, возможно, потребуется np.int64:

df = pd.read_csv(filepath, dtype={'ID':np.int64})

Если возможно, некоторые пропущенные значения и pandas версия равна 0,24+, используйте Int64:

df = pd.read_csv(filepath, dtype={'ID':'Int64'})
...