【问题标题】:Groupby and find the mean and count on separate columnsGroupby 并在单独的列上找到平均值和计数
【发布时间】:2017-09-30 10:09:39
【问题描述】:

我有以下数据框(df):

Items              Category       Quantity       Weight(each)
Spoon              Kitchen        2               0.7
Tent               Shelter        1               80.0
Sleeping Bag       Shelter        1               20.0    
Sunscreen          Health         2               5.0
Water Bottles      Kitchen        2               35.0

我想统计每个类别的数量,以及按类别的重量平均值。

想要的输出:

              count(Quantity)           mean(Weight)
Category       
Kitchen         4                        17.5
Shelter         2                        50.0
Health          2                        5.0

我知道如何分开做。但我不确定如何将它们合并在一起。 分别:

df.groupby('Category')['Quantity'].agg(['count'])

df.groupby('Category')['Weight(each)'].agg(['mean'])

【问题讨论】:

标签: python pandas dataframe group-by pandas-groupby


【解决方案1】:

我认为您正在寻找groupby + agg 作为dict 传递。

df.groupby('Category').agg({'Quantity' : 'sum', 'Weight(each)' : 'mean'})

          Weight(each)  Quantity
Category                        
Health            5.00         2
Kitchen          17.85         4
Shelter          50.00         2

【讨论】:

  • 是的。谢谢。我不知道字典。太好了:)
猜你喜欢
  • 2020-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-23
  • 1970-01-01
  • 1970-01-01
  • 2021-09-29
  • 2020-07-11
相关资源
最近更新 更多