Python数据分析之 Pandas Dataframe分组与聚合操作

805 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第12天,点击查看活动详情

分组与聚合也是数据分析中非常重要的一部分,也是必须要掌握的点,这篇文章就来介绍一下 Dataframe 数据的分组与聚合。

分组

Pandas提供了groupby()方法来实现分组操作,接收一个by参数,接收一个键或者多个键,表示根据什么进行分组,结果返回一个DataFrameGroupBy对象,该对象属于可迭代对象,迭代出的每一个元素都是元组,元组由分组的值和分组之后的DataFrame对象组成,具体使用方法如下: image.png 按照city进行分组:

grouped = df.groupby("city")

for city,group in grouped:
    print(city)
    print(group)

结果输出如下: image.png groupby()方法也支持根据多列进行分组,给by传递一个列表参数即可,返回结果中,分组的值为一个元组,例如,根据city和gender进行分组:

grouped = df.groupby(["city", "gender"])

for city,group in grouped:
    print(city)
    print(group)

image.png

聚合

分组之后的DataFrameGroupBy对象可以进行数据的聚合计算,可以使用以下聚合函数:

函数名说明
count分组中非NaN的数量
sum非NaN值的和
max非NaN值中的最大值
min非NaN值中的最小值
mean非NaN值的平均值
median非NaN值的中位数
std、var非NaN值的标准差、方差

例如,获取分组中非NaN的数量:

grouped.count()

结果输出如下: image.png 其他几个使用方式一样,就不一一列举了。

原创不易,如果小伙伴们觉得有帮助,麻烦点个赞再走呗~

最后,感谢女朋友在工作和生活中的包容、理解与支持 !