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()
最后的結果如下:

