Панды читают CSV конвертирует float в Nan - PullRequest
0 голосов
/ 23 октября 2018

Я пытаюсь прочитать CSV-файл через панды со следующими данными (выдержка из https://data.worldbank.org/indicator/NY.GDP.MKTP.CD)

"Afghanistan","AFG","GDP (current US$)","NY.GDP.MKTP.CD","537777811.111111"
"Burundi","BDI","GDP (current US$)","NY.GDP.MKTP.CD","195999990"

с моей командой

    GDP = pd.read_csv('world_bank.csv')

В моем Dataframe"537777811.111111" преобразуется в NaN, в то время как "195999990" преобразуется правильно.

Кажется, существует проблема с преобразованием с плавающей запятой. Как я могу предотвратить это?

1 Ответ

0 голосов
/ 23 октября 2018

Вы можете вручную указать Pandas использовать определенный тип данных для определенного столбца.

import np
...your code...
#Let's say you name your columns:
COL_NAMES=['Country','CountryCode','GDP_Type','WhateverField','GDP']
# you can specify datatype for a single column and let Pandas guess the rest:
COL_TYPES={'GDP':np.float64 }
GDP=pd.read_csv('world_bank.csv',names=COL_NAMES,dtype=COL_TYPES)

Подобные конструкции меня устраивают.

См. Также: https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...