pandas_数据分组

文章目录

  • pandas 数据分组
    • 1.数据分组
      • 1.1分组键是列名
        • 1.1.1按照一列进行分组
        • 1.1.2按照多列进行分组
      • 1.2 分组键是Series
      • 1.3 神奇的aggregate方法
      • 1.4 对分组后的结果重置索引
    • 2.数据透视表

pandas 数据分组

1.数据分组

1.1分组键是列名

分组键是列名时直接将某一列或多列的列名传给groupby()groupby()就会按照这一列或多列进行分组。

1.1.1按照一列进行分组
df = pd.read_excel("C:/Users/aaaaa/Desktop/test.xlsx")
print(df)
print(df.groupby("客户分类"))

如果只是传入列名,运行groupby()方法以后返回的不是一个DataFrame 对象,而是 一 个DataFrameGroupBy 对象,这个对象里面包含着分组以后的若干组数据,但是没有直接显示出来,需要对这些分组数据进行汇总计算以后才会展示出来。

print(df.groupby("客户分类").count)

上面的代码是根据客户分类对所有数据进行分组,然后对分组以后的数据分别进行计数运算,最后进行合并。

由于对分组后的数据进行了计数运算,因此每一列都会有一个结果,但是如果对分组后的结果做一些数值运算,这个时候就只有数据类型是数值(int、flfloat)的列才会参与运算,比如下面的求和运算。

print(df.groupby("客户分类").sum(numeric_only=True))

我们把这种对分组后的数据进行汇总运算的操作称为聚合,使用的函数称为聚合函数。

1.1.2按照多列进行分组

上面分组键是某一列,即按照一列进行分组,也可以按照多列进行分组,只要将多个列名以列表的形式传给groupby()即可,汇总计算方式与按照单列进行分组以后数据运算的方式一致。

print(df.groupby(["客户分类", "区域"]).count(

你可能感兴趣的:(Python,pandas,python)