Панды, не поддерживающие типы данных - PullRequest
0 голосов
/ 04 декабря 2018

Я пытаюсь объединить три файла CSV.Я могу заставить их сливаться просто отлично, но я получаю значения NaN в пустых ячейках (см. Ячейки phone_number ниже).Это было бы хорошо, кроме случаев, когда я перебираю строки и получаю пустую ячейку, которая говорит, что это float ???Я не понимаю, потому что я специально установил тип str.

      business_id                                         name                         address                  city state postal_code   latitude   longitude  phone_number
0       PR0001109             ST. BARNABAS SENIOR CENTER OF LA            675 S CARONDELET ST            LOS ANGELES    CA       90057  34.059267 -118.281234  213-388-4444
1       PR0001209                       COCO FRESH TEA & JUICE    11301 W OLYMPIC BLVD STE 105           LOS ANGELES    CA       90064  34.038185 -118.441811  626-319-5570
2       PR0001212                                  BOTTOM LINE          2066 W MANCHESTER AVE            LOS ANGELES    CA       90047  33.959802 -118.315636           NaN
3       PR0001671                                      TIKI TI             4427 W SUNSET BLVD            LOS ANGELES    CA       90027  34.097470 -118.285736           NaN

Согласно документации, я не должен видеть это со следующим:

df = pd.read_csv(myfile, dtype={'phone_number': str}, na_values=[''], keep_default_na=False)

Однако,это не работаетЕсть идеи?

Примечание: Использование панд версии 0.23.4

1 Ответ

0 голосов
/ 04 декабря 2018

Я думаю, NaN в любом случае будет интерпретироваться как число с плавающей запятой.Однако вы можете использовать result.fillna('') a posteriori, если параметр na_values не распознает пустые ячейки как NaN и, таким образом, заменяет их на ''.Кроме того, попробуйте это посмотреть, если это работает для вас:

df = pd.read_csv(myfile, dtype={'code': str}, na_values=[], keep_default_na=False)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...