Groupby 并在单独的列上找到平均值和计数

Groupby and find the mean and count on separate columns

我有以下数据框 (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'])

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

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