首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >函数在Pandas数据中的应用(“太多索引器”错误)

函数在Pandas数据中的应用(“太多索引器”错误)
EN

Stack Overflow用户
提问于 2017-07-10 16:37:40
回答 1查看 177关注 0票数 1

我试图仅使用第一个k列(计算为mean作为.iloc[:,:-5])沿dataframe的axis=1计算axis=1var,天真地说,我将运行如下:

代码语言:javascript
复制
df.groupby('id').agg([lambda x: x.iloc[:,:-5].mean(axis=1), lambda x: x.iloc[:,:-5].var(axis=1)])

但它会抛出“太多索引器”的错误。

编辑

一些数据:

代码语言:javascript
复制
       0    1    2    3    4    5    6    7    8    9             Q1      Q2      Q3     Q4              id
0    3.0  3.0  4.0  4.0  3.0  3.0  3.0  3.0  3.0  3.0           12.0    0.83    80.0  1.000            11.0
1    3.0  3.0  4.0  4.0  4.0  3.0  3.0  3.0  3.0  3.0           14.0    1.60    80.0  1.000            11.0
2    3.0  3.0  3.0  3.0  3.0  3.0  3.0  3.0  3.0  5.0           13.0    1.40    75.0  1.000            11.0
3    3.0  3.0  4.0  4.0  4.0  3.0  3.0  3.0  3.0  3.0           12.0    0.50    80.0  0.848            11.0
4    3.0  4.0  4.0  4.0  7.0  7.0  5.0  4.0  4.0  2.0           13.0    1.74    70.0  0.883            11.0
13   3.0  3.0  2.0  2.0  2.0  2.0  3.0  2.0  3.0  3.0           12.0    3.67    45.0  1.000            14.0
14   2.0  2.0  2.0  2.0  2.0  2.0  2.0  2.0  2.0  2.0           13.0    3.67    48.0  0.848            14.0
15   2.0  2.0  2.0  2.0  2.0  2.0  2.0  2.0  2.0  2.0           12.0    1.67    70.0  0.848            14.0
16   2.0  2.0  2.0  2.0  2.0  2.0  2.0  2.0  NaN  2.0           12.0    3.33    60.0  0.848            14.0
17   2.0  2.0  2.0  2.0  2.0  2.0  2.0  2.0  2.0  2.0           12.0    3.33    60.0  0.848            14.0
25   4.0  4.0  6.0  5.0  NaN  6.0  4.0  3.0  NaN  4.0           11.0    3.36    85.0  0.796            17.0
26   4.0  5.0  4.0  7.0  6.0  5.0  4.0  6.0  7.0  5.0            8.0    4.76    50.0  0.725            17.0
27   4.0  4.0  3.0  4.0  5.0  4.0  5.0  3.0  3.0  5.0            9.0    3.33    50.0  0.725            17.0
28   3.0  4.0  4.0  3.0  4.0  4.0  NaN  3.0  NaN  3.0           10.0    3.12    75.0  0.725            17.0
29   3.0  3.0  2.0  NaN  2.0  1.0  NaN  NaN  1.0  2.0           15.0    3.05    79.0  0.725            17.0
39   3.0  3.0  5.0  4.0  4.0  4.0  4.0  4.0  NaN  5.0           12.0    1.19    80.0  0.883            18.0
40   5.0  4.0  5.0  5.0  5.0  5.0  4.0  5.0  7.0  4.0            9.0    1.83    75.0  0.883            18.0
41   5.0  6.0  4.0  4.0  4.0  4.0  4.0  4.0  7.0  7.0           12.0    1.71    35.0  1.000            18.0
42   5.0  5.0  5.0  5.0  4.0  NaN  4.0  4.0  3.0  2.0           13.0    0.86    85.0  1.000            18.0
43   3.0  3.0  3.0  3.0  3.0  3.0  3.0  5.0  3.0  3.0           11.0    1.36    75.0  1.000            18.0
48   1
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-10 16:44:51

看来你首先需要:

代码语言:javascript
复制
df['m'] = df.iloc[:,:-5].mean(axis=1)
df['v'] = df.iloc[:,:-5].var(axis=1)

如果有必要的话。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45017431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档