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