Python Dataframe Groupby Mean 和 STD

Mai*_*and 2 python numpy mean dataframe pandas-groupby

我知道如何通过平均值或标准计算分组。但现在我想一次计算两者。我的代码:

df = 
   a      b      c      d
0  Apple  3      5      7
1  Banana 4      4      8
2  Cherry 7      1      3
3  Apple  3      4      7

xdf = df.groupby('a').agg([np.mean(),np.std()])
Run Code Online (Sandbox Code Playgroud)

当前输出:

TypeError: _mean_dispatcher() missing 1 required positional argument: 'a'
Run Code Online (Sandbox Code Playgroud)

And*_*ely 5

尝试()np.功能中删除:

xdf = df.groupby("a").agg([np.mean, np.std])
print(xdf)
Run Code Online (Sandbox Code Playgroud)

印刷:

          b         c              d     
       mean  std mean       std mean  std
a                                        
Apple     3  0.0  4.5  0.707107    7  0.0
Banana    4  NaN  4.0       NaN    8  NaN
Cherry    7  NaN  1.0       NaN    3  NaN
Run Code Online (Sandbox Code Playgroud)

编辑:要“展平”列多索引:

xdf = df.groupby("a").agg([np.mean, np.std])
xdf.columns = xdf.columns.map("_".join)
print(xdf)
Run Code Online (Sandbox Code Playgroud)

印刷:

        b_mean  b_std  c_mean     c_std  d_mean  d_std
a                                                     
Apple        3    0.0     4.5  0.707107       7    0.0
Banana       4    NaN     4.0       NaN       8    NaN
Cherry       7    NaN     1.0       NaN       3    NaN
Run Code Online (Sandbox Code Playgroud)