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)
尝试()从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)