use*_*044 11 python csv numpy pandas
我试图int在Pandas DataFramewith中 添加一个现有值
>>> df.ix['index 5','Total Dollars'] += 10
Run Code Online (Sandbox Code Playgroud)
我收到错误:
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'>
Run Code Online (Sandbox Code Playgroud)
数据框通过CSV文件填充.我尝试从另一个CSV文件加载数据库:
>>> print type(df.ix['index 5','Total Dollars']
int64
Run Code Online (Sandbox Code Playgroud)
什么可能导致这种类型的差异?
这看起来像是某些早期版本的错误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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
383 次 |
| 最近记录: |