DataFrame对象groupby.agg方法总结

通俗解释:

groupby为对原DataFrame进行打包分组,agg为聚合(其操作包括max、min、std、sum、count)。

 

  • DataFrame数据:

>>> df = pd.DataFrame({'A': [1, 1, 2, 2],

...                    'B': [1, 2, 3, 4],

...                    'C': np.random.randn(4)})

 

>>> df

   A  B         C

0  1  1  0.362838

1  1  2  0.227877

2  2  3  1.267767

3  2  4 -0.562860

 

  • 一、The aggregation is for each column:(根据Dataframe的列'A'进行划分,再进行1项聚合操作,原DataFrame的其他各列各产生1列)

>>> df.groupby('A').agg('min')

   B         C

A

1  1  0.227877

2  3 -0.562860

 

  • 二、Multiple aggregations:(聚合后的多项操作,其他列的每列会各自产生多列)

>>> df.groupby('A').agg(['min', 'max'])

    B             C

  min max       min       max

A

1   1   2  0.227877  0.362838

2   3   4 -0.562860  1.267767

 

  • 三、Select a column for multiple aggregation(聚合后选择1列‘B’进行多项操作,产生多列)

>>> df.groupby('A').B.agg(['min', 'max'])

   min  max

A

1    1    2

2    3    4

  • 四、Select several columns for multiple aggregation(聚合后选择1列进行多项操作,产生多列,并存为新列名)

 >>> df.groupby('A').B.agg({'B_max': 'max', 'B_min': 'min'})

  B_max       B_min      

A

1   2  1

2   4  3

  • 五、Select several columns for multiple aggregation(聚合后选择多列进行多种操作)

>>> df.groupby('A').agg({'B': ['min', 'max'], 'C': min})

    B             C

  min max       min      

A

1   1   2  0.227877

2   3   4 -0.562860 

  • 10
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值