pandas分组计数


pandas分组计数:查看每个元素出现的次数

相当于SQL语句中distinct,以及EXCEL中删除重复项,查看每个选项有多少个元素

提供以下四种办法:value_counts、size、groupby、groupby...agg

新建dataframe样例:

import pandas as pd 

df = pd.DataFrame([["地区1", 20, 12, 11], ["地区2", 20, 12, 11], ["地区3", 90, 30, 11], ["地区2", 90, 30, 12], ["地区3", 10, 20, 30]],
                  columns=["地区","col1", "col2","col3"])
df

查看数据:

统计每个地区出现的次数

1、方法一:value_counts

# 方法一:
df["地区"].value_counts() 

 

2、方法二:size

# 方法二:
df.groupby("地区").size()

 

3、方法三:groupby 通过分组之后进行计数

# 方法三:先按照地区分组,接着统计每组的个数
df.groupby("地区")["地区"].count()

 

4、方法四:groupby...agg  通过分组汇总的方式进行统计

# 直接根据地区对所有数据进行计数
df.groupby("地区").agg("count")

# 第四种方式:分组统计,和第三种类似
df["count"] = 1      # 多增加一个字段,都标识值为1

# 按照大区分组,统计每一组中的count字段的sum值! 
df.groupby("地区").agg({"count": "sum"})   
# 或者直接求和count列
df.groupby("地区")["count"].sum()

 

最后的结果如下:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM