панды read_csv () странное поведение для пустого (дефолт) ценности

У меня есть следующий вход trans.csv файл:

Date,Currenncy,Symbol,Type,Units,UnitPrice,Cost,Tax
2012-03-14,USD,AAPL,BUY,1000
2012-05-12,USD,SBUX,SELL,500

Области UnitPrice, Стоимость и Налог дополнительные. Если они не будут определены, то я ожидаю NaN в ячейке DataFrame.

Я прочитал файл CSV с:

t = pandas.read_csv('trans.csv', parse_dates=True, index_col=0)

и получил следующий результат:

           Currenncy Symbol  Type  Units   UnitPrice       Cost       Tax
Date                                                                     
2012-03-14       USD   AAPL   BUY   1000  2012-05-12  012-05-12  12-05-12
2012-02-05       USD   SBUX  SELL    500         NaN        NaN       NaN

Почему не там никакой NaN в первом ряду, и Дата повторяется? Какая-либо работа, чтобы получить NaN для неуказанных областей?

2
nl ja de
Добавленный это как проблема о GitHub. Ответ, который я опубликовал, должен зафиксировать его на данный момент (это ловит, когда есть данные в некоторых колонках)...
добавлено автор Andy Hayden, источник
используйте панд 0.10
добавлено автор ronnydw, источник

2 ответы

Ваш файл CSV уродлив. Я получаю тот же самый ответ как вы у Панд 0.10, и в то время как я признаю, что это действительно очень, очень странно, вы не должны кормить его некорректными данными.

Date,Currenncy,Symbol,Type,Units,UnitPrice,Cost,Tax
2012-03-14,USD,AAPL,BUY,1000,,,
2012-05-12,USD,SBUX,SELL,500,,,

возвращает ожидаемый

>>> import pandas as pd
>>> t = pd.read_csv('pandas_test', parse_dates=True, index_col=0)
>>> t
           Currenncy Symbol  Type  Units  UnitPrice  Cost  Tax
Date                                                          
2012-03-14       USD   AAPL   BUY   1000        NaN   NaN  NaN
2012-05-12       USD   SBUX  SELL    500        NaN   NaN  NaN
3
добавлено
подача некорректных данных является.... жизнью!
добавлено автор Andy Hayden, источник
@rdw я думаю так. Это похоже на ошибку.
добавлено автор Andy Hayden, источник
@rdw или по крайней мере: "покажите стоящий наличия":)
добавлено автор Andy Hayden, источник
"Уборщик взглядов". Почему делают вы заботитесь о том, на что оригинальные данные похожи если you' ре, разбирающее его? Это doesn' t имеют значение, что это выглядит более чистым если it' s неправильный.
добавлено автор Fredrick Brennan, источник
"то уродливое". Быть уродливым двойное, it' s уродливый или это isn' t уродливый.
добавлено автор Fredrick Brennan, источник
That' s одна запятая слишком много, теперь есть Отделения NaN без сообщения об ошибке! Могут дополнительные запятые не быть сделанными дополнительными пандами. Уборщик взглядов.
добавлено автор ronnydw, источник
@hayden, действительно кормя некорректные данные является жизнью. Can' t мы ожидаем от панд, что это обработано изящно? It' s не, что уродливый.
добавлено автор ronnydw, источник
Действительно, это похоже на ошибку
добавлено автор ronnydw, источник

Вот метод, который может обращаться еще с некоторыми случаями (когда есть некоторые данные в UnitCost , Стоимость , и т.д.).

In [1]: df = pd.read_csv('trans.csv', header=None)

In [2]: df.columns = df.ix[0]

In [3]: df[1:].set_index('Date')
Out[3]: 
           Currenncy Symbol  Type Units UnitPrice Cost  Tax
Date                                                       
2012-03-14       USD   AAPL   BUY  1000       NaN  NaN  NaN
2012-05-12       USD   SBUX  SELL   500       NaN  NaN  NaN
2012-05-12       USD   SBUX  SELL   500       NaN  NaN  NaN

Стоит отметить, что dtype этих колонок будет объект .

Однако я думаю, что это должно быть поймано to_csv таким образом, я отправил как проблема о GitHub.

2
добавлено
Спасибо. Эта работа смотрит хорошо.
добавлено автор ronnydw, источник
Python
Python
7 654 участник(ов)

Уютный чат для профессионалов, занимающихся поиском питоньих мудростей. Как не получить бан: https://t.me/ru_python/577926

Python beginners
Python beginners
4 449 участник(ов)

Вопросы про Python для чайников. Cпам и троллинг неприемлем. Не злоупотребляйте стикерами. Частозадаваемые вопросы: https://github.com/ru-python-beginners/faq/blob/master/README.md Статистика тут: https://grstats.me/chat/x4qym2k5uvfkr3al6at7

pro.python
pro.python
1 090 участник(ов)

Сообщество разработчиков под Python Создатель: @rodgelius

Rude Python
Rude Python
971 участник(ов)

Python без „девочек”, здесь матерятся и унижают Django. Not gay friendly. Правила: t.me/rudepython/114107 @rudepython | t.me/rudepython

rupython
rupython
509 участник(ов)

Группа создана с целью оперативного получения ответов на возникающие вопросы по разработке на яп python, смежные темы, а также человеческого общения. Приветствую!

Python-programming
Python-programming
266 участник(ов)

Чат группы вконтакте https://vk.com/python_community