Добавление данных в Pandas Dataframe из файла CSV, вызывающего ошибки значения
Я пытаюсь добавить int
к существующему значению в Pandas
DataFrame
с
>>> df.ix['index 5','Total Dollars'] += 10
Я получаю ошибку:
ValueError: Must have equal len keys and value when setting with an iterable
.
Я думаю, что ошибка исходит от datatype
, полученной из:
>>> print type(df.ix['index 5','Total Dollars']
int64 <class 'pandas.core.series.Series'>
Блок данных заполняется через CSV файл. Я попытался загрузить базу данных из другого CSV файла:
>>> print type(df.ix['index 5','Total Dollars']
int64
Что может вызвать эту разницу в типе?
Ответы
Ответ 1
Это выглядит как ошибка для некоторых более ранних версий pandas
, исправленных по крайней мере с помощью 0.16.2
, если не раньше, как обсуждалось здесь и здесь.
С 0.17.1
это прекрасно работает:
df = pd.DataFrame(data=[5], columns=['Total Dollars'], index=['index 5'])
Total Dollars
index 5 5
df.ix['index 5', 'Total Dollars'] += 10
Total Dollars
index 5 15