Убедитесь, что pandas read_csv подчиняется данным типам - PullRequest
0 голосов
/ 31 августа 2018

У меня есть следующие данные CSV, data.csv. Следует отметить, что CSV-файл правильно отформатирован и не содержит никаких «странных» вещей.

id,date,time,name,value,description
0,2017-01-07,2017-01-07 11:49:29,cool_name1,2,something
1,2017-01-07,2017-01-07 11:51:50,cool_name1,-1,something
2,2017-01-07,2017-01-07 14:03:42,cool_name2,9,something

Я прочитал это через:

schema = {'id': float,
          'date': str,
          'time': str,
          'name': str,
          'value': float,
          'description': str}
df = pd.read_csv('data.csv', header=0, dtype=schema,
                 parse_dates=['date', 'time'])

, что приводит к df.dtypes:

id           int64
date         datetime64[ns]
time         datetime64[ns]
name         object
value        float64
description  object

В зависимости от того, куда направляются данные, id должен быть автоматически проанализирован, как указано schema (float в данном случае). Однако, попробовав несколько разных аргументов ключевых слов в сочетании друг с другом, я не могу заставить id подчиниться моему dtype.

Список того, что я пробовал:

dtype=schema
converters=schema
low_memory=False
engine='c' AND 'python'
index_col=False
parse_dates=False

Следует отметить, что столбец value подчиняется dtype, и без него он становится int64.

Что такое недостающий ингредиент (версия для панд 0.23.4)?

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