常的数据分析中,经常需要将数据根据某个(多个)字段划分为不同的群体(group)进行分析,在Excel中我们可以非常方便地使用“筛选”、“排序”等方式进行相关操作,但在Pandas中我们就主要使用groupby函数来完成。比如:有10个员工分布在一家公司4个不同的部门,具体数据可以使用python简单生成一下,如下:
import pandas as pdimport numpy as npcompany=["A","B","C","D"]data=pd.DataFrame({ "部门":[company[x] for x in np.random.randint(0,len(company),10)], "工资":np.random.randint(5,50,10), "年龄":np.random.randint(15,50,10)})data
运行结果如下:
下面我们进行聚合排序,把同一部门的人聚在一起,使用groupby来操作一下:
data.groupby("部门")
显示如下:
啊,显示不出来?怎么办?不用担心,我们在后面加一句话
#完整显示groupby后的数据data.groupby("部门").apply(lambda x:x[:])
跑一下看看,如下图:
搞定了,聚合完成