时间:2021-05-23
上面代码会在当前目录下生成一个 People.csv 文件
import pandas as pddf = pd.read_csv('./People.csv')df.head()# 根据 '性别列' 进行分组, 得到的是一个分组后的对象groups = df.groupby('性别')print(groups)<pandas.core.groupby.generic.DataFrameGroupBy object at 0x000002953DAEBC88>使用groupby的size方法可以查看分组后每组的数量, 并返回一个含有分组大小的Series
print(groups.size())性别F 5M 5dtype: int64可以只对一列数据进行分组, 只保留想要的数据
例如: 通过性别, 只对年龄进行分组
group = df['年龄'].groupby(df['性别'])# 查看分组print(group.groups)# 根据分组后的名字选择分组print(group.get_group('F')){'F': Int64Index([0, 2, 3, 6, 7], dtype='int64'), 'M': Int64Index([1, 4, 5, 8, 9], dtype='int64')}0 252 273 256 257 32Name: 年龄, dtype: int64分组的名称: F 分组的数据 (5, 6)
----------
分组的名称: M 分组的数据 (5, 6)
----------
- 将分组后的对象groups进行遍历,可以获取到group_name每个组的名字,group_df每个组的数据
import pandas as pddf = pd.read_csv('./People.csv')groups = df.groupby('性别')for group_name,group_df in groups: f_mean = group_df['年龄'].mean() f_max = group_df['年龄'].max() f_min = group_df['年龄'].min() print('{}组的最大年龄是{},最小年龄是{},平均年龄是{}'.format(group_name,f_max,f_min,f_mean))F组的最大年龄是32,最小年龄是25,平均年龄是26.8
M组的最大年龄是30,最小年龄是26,平均年龄是28.2
当需要按照多列进行分组的时候, groupby 方法里面我们传入一个列表, 列表分别存储分组依据的列名
注意: 列表中列名的顺序, 确定了先按XXXX列分组, 然后在按照YYYY列分组, 不同的顺序产生的分组名字是不同的
df = pd.read_csv('./People.csv')group=df.groupby(['性别', '婚姻状况'])df1 = group.size()print(df1)性别 婚姻状况F NO 2 YES 3M NO 4 YES 1dtype: int64group.size()返回的结果中发现索引值是多层的, 所以对于多索引值的获取, 只需要从外往里一层一层的取就可以啦, 就像我们睡觉之前,需要先脱外衣再脱掉内衣是一样的
size = df1['F'][ 'NO']print(size)2F组的最大年龄是32.0,最小年龄是25.0,平均年龄是26.8
M组的最大年龄是30.0,最小年龄是26.0,平均年龄是28.2
当使用自定义的统计函数时
先创建统计函数
注意: 自定义函数名字传入agg() 函数时, 不需要转换成字符串
M
开始按照性别分组, 组量太少, 数据也比较少, 本来准备算薪资总数, 但是单位忘记换了, 就这样吧
到此这篇关于pandas数据分组groupby()和统计函数agg()的使用的文章就介绍到这了,更多相关pandas groupby()和agg()内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一、groupby能做什么?python中groupby函数主要的作用是进行数据的分组以及分组后地组内运算!对于数据的分组和分组运算主要是指groupby函数的
本文介绍了在datatable中使用groupby进行分组统计,下面是为大家分享的效果图和实现代码:实现效果在SQL中我们可以使用groupby来进行分组统计,
GROUPBY是分组查询,一般GROUPBY是和聚合函数配合使用,你可以想想你用了GROUPBY按ITEM.ITEMNUM这个字段分组,那其他字段内容不同,变成
Pandas的apply函数概念(图解)实例1:怎样对数值按分组的归一化实例2:怎样取每个分组的TOPN数据到此这篇关于Pandas对每个分组应用apply函数
今天大概弄懂了partitionby和groupby的区别联系。1.groupby是分组函数,partitionby是分析函数(然后像sum()等是聚合函数);