从CSV文件向Pandas Dataframe添加数据导致值错误

时间:2016-01-29 20:45:22

标签: python csv numpy pandas

我正在尝试将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 个答案:

答案 0 :(得分:4)

对于某些早期pandas版本,这看起来像是一个错误,如果不早于讨论herehere,则至少修复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