一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第12天,点击查看活动详情。
分组与聚合也是数据分析中非常重要的一部分,也是必须要掌握的点,这篇文章就来介绍一下 Dataframe 数据的分组与聚合。
分组
Pandas提供了groupby()
方法来实现分组操作,接收一个by参数,接收一个键或者多个键,表示根据什么进行分组,结果返回一个DataFrameGroupBy
对象,该对象属于可迭代对象,迭代出的每一个元素都是元组,元组由分组的值和分组之后的DataFrame对象组成,具体使用方法如下: 按照city进行分组:
grouped = df.groupby("city")
for city,group in grouped:
print(city)
print(group)
复制代码
结果输出如下: groupby()
方法也支持根据多列进行分组,给by传递一个列表参数即可,返回结果中,分组的值为一个元组,例如,根据city和gender进行分组:
grouped = df.groupby(["city", "gender"])
for city,group in grouped:
print(city)
print(group)
复制代码
聚合
分组之后的DataFrameGroupBy
对象可以进行数据的聚合计算,可以使用以下聚合函数:
函数名 | 说明 |
---|---|
count | 分组中非NaN的数量 |
sum | 非NaN值的和 |
max | 非NaN值中的最大值 |
min | 非NaN值中的最小值 |
mean | 非NaN值的平均值 |
median | 非NaN值的中位数 |
std、var | 非NaN值的标准差、方差 |
例如,获取分组中非NaN的数量:
grouped.count()
复制代码
结果输出如下: 其他几个使用方式一样,就不一一列举了。
原创不易,如果小伙伴们觉得有帮助,麻烦点个赞再走呗~
最后,感谢女朋友在工作和生活中的包容、理解与支持 !