【发布时间】:2017-04-01 18:42:06
【问题描述】:
这里我有一个 pandas Dataframe df,例如:
A B C
0 1 2 3
1 1 2 3
3 1 2 3
然后我有一个清单
x=['B','C']
我想得到 B & C 列下每一行的每个数字的总和。所以我这样写:
df[x].sum(axis=1).values
但是,我得到一个错误
TypeError: f() got an unexpected keyword argument 'axis'
我不明白为什么这会出错。我的代码在 ipython notebook 中运行。你能给点建议吗?谢谢。
更新:真正的 df 是这样的:
Date Ayotte Hassan
Date
2016-06-29 2016-06-29 46.8 45.3
2016-06-30 2016-06-30 46.8 45.3
2016-07-01 2016-07-01 46.8 45.3
2016-07-02 2016-07-02 46.8 45.3
2016-07-03 2016-07-03 46.8 45.3
2016-07-04 2016-07-04 46.8 45.3
2016-07-20 2016-07-20 45.8 45.2
2016-07-21 2016-07-21 45.8 45.2
2016-07-22 2016-07-22 45.8 45.2
... ... ... ...
2016-10-09 2016-10-09 48.0 44.5
2016-10-10 2016-10-10 48.0 44.5
2016-10-11 2016-10-11 46.7 44.7
2016-10-16 2016-10-16 46.3 44.0
2016-10-17 2016-10-17 46.3 44.0
2016-10-18 2016-10-18 46.0 44.3
2016-10-19 2016-10-19 45.7 45.3
2016-10-20 2016-10-20 44.0 46.0
2016-10-21 2016-10-21 44.0 46.0
2016-10-22 2016-10-22 44.0 46.0
2016-10-23 2016-10-23 44.0 46.0
df的dtypes是
Date datetime64[ns]
Ayotte float64
Hassan float64
dtype: object
然后,我做到了
df = df.resample('D')
上面显示的df是重采样前的数据。列表 x 是
x=['Ayotte','Hassan']
然后我运行这段代码就报错了
print df[x].sum(axis=1).values
【问题讨论】:
-
您的意思是让您的索引在 DataFrame 中变为 0、1、3 吗?因为我做了完全相同的事情(使用适当的指标)并且它有效。
-
@pshep123 没关系
-
.values是问题 编辑,我收回了....它对我有用 -
@pshep123 我的 df 的索引是像 2016-11-18 这样的日期。
-
@anshanno 我尝试不使用
.values,但仍然出现同样的错误。
标签: python pandas dataframe typeerror