【问题标题】:Python Dataframe Groupby Mean and STDPython Dataframe Groupby 均值和标准差
【发布时间】:2021-09-06 09:10:04
【问题描述】:

我知道如何计算 groupby mean 或 std。但现在我想同时计算两者。 我的代码:

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()])

目前的输出:

TypeError: _mean_dispatcher() missing 1 required positional argument: 'a'

【问题讨论】:

    标签: python dataframe numpy pandas-groupby mean


    【解决方案1】:

    尝试从np. 函数中删除()

    xdf = df.groupby("a").agg([np.mean, np.std])
    print(xdf)
    

    打印:

              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
    

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

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

    打印:

            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
    

    【讨论】:

    • 如何将列重命名为b_meanb_std 等?
    • 非常棒的解决方案。谢谢
    猜你喜欢
    • 2020-04-15
    • 2015-03-29
    • 2018-06-08
    • 2020-12-26
    • 2014-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多