pandas 对group进行聚合的例子

yipeiwu_com6年前Python基础

如下所示:

DataFrameGroupBy.agg(arg, *args, **kwargs) 

例子:

>>> 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

对每一行使用agg函数

>>> df.groupby('A').agg('min')
 B   C
A
1 1 0.227877
2 3 -0.562860

对多列使用多个agg函数:

>>> 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

选择一列使用agg函数:

>>> df.groupby('A').B.agg(['min', 'max'])
 min max
A
1 1 2
2 3 4
>>> df.groupby('A').agg({'B': ['min', 'max'], 'C': 'sum'})
 B    C
 min max  sum
A
1 1 2 0.590716
2 3 4 0.704907

以上这篇pandas 对group进行聚合的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python列表生成式与生成器操作示例

本文实例讲述了Python列表生成式与生成器操作。分享给大家供大家参考,具体如下: 列表生成式:能够用来创建list的生成式 比如想要生成类似[1*1,2*2,3*3,…..100*10...

Python控制多进程与多线程并发数总结

Python控制多进程与多线程并发数总结

一、前言 本来写了脚本用于暴力破解密码,可是1秒钟尝试一个密码2220000个密码我的天,想用多线程可是只会一个for全开,难道开2220000个线程吗?只好学习控制线程数了,官方文档...

给Python中的MySQLdb模块添加超时功能的教程

使用Python操作MySQL数据库的时候常使用MySQLdb这个模块。 今天在开发的过程发现MySQLdb.connect有些参数没法设置。通过这个页面我们可以看到在connect的时...

Python定义一个跨越多行的字符串的多种方法小结

Python定义一个跨越多行的字符串的多种方法小结

方法一: >>> str1 = '''Le vent se lève, il faut tenter de vivre. 起风了,唯有努力生存。 (纵有疾风起,人...

使用django的ORM框架按月统计近一年内的数据方法

如下所示: # 计算时间 time = datetime.datetime.now() - relativedelta(years=1) # 获取近一年数据 one_year_dat...