pandas 分类字段统计
579 字
3 分钟
pandas 分类字段统计
pandas 分类字段统计
分类字段统计是理解数据分布最快的方法。一个 value_counts 就能看到类别是否集中、是否有拼写问题、是否存在空值。
但在统计前要先清洗文本,否则“北京”“北京 ”和“beijing”可能被当成三个类别。
基础统计
counts = df["city"].value_counts(dropna=False)ratio = df["city"].value_counts(normalize=True, dropna=False)print(counts.head(20))print((ratio * 100).round(2).head(20))dropna=False 可以把缺失值也统计出来,适合数据质量检查。
统计前清洗
df["city_clean"] = ( df["city"] .astype("string") .str.strip() .str.replace("市", "", regex=False))print(df["city_clean"].value_counts(dropna=False).head(20))具体替换规则要根据业务来,不要为了合并类别而把真实差异抹掉。
多字段分类
summary = ( df.groupby(["city_clean", "level"], dropna=False) .size() .reset_index(name="count") .sort_values("count", ascending=False))print(summary.head(20))怎么看结果
-
是否有明显的空值或未知类别。
-
是否有同义类别被拆开。
-
头部类别是否过度集中。
-
长尾类别是否需要合并为“其他”。
实战复盘
复用《pandas 分类字段统计》时,不要只复制代码块。先把自己的字段名、数据口径和异常规则写出来,再替换示例里的列名。pandas 的函数很通用,但业务字段的含义不能自动迁移。
每次处理完成后,我会抽样看几条原始记录和处理后记录。尤其是日期、金额、分类字段,机器统计和肉眼抽查要一起做,才能发现格式看似正常但含义错位的问题。
这类文章后续可以继续补充真实小表格作为输入示例。输入、处理、输出三者都出现,教程才不会变成只解释 API。
最小验收样例
验收《pandas 分类字段统计》时,我会手写一个三到五行的小 DataFrame:一行正常数据,一行缺失或异常数据,一行边界数据。先让示例在小表上跑通,再换成完整数据集。
小表的好处是结果可以人工计算。只要人工结果和 pandas 输出对不上,就说明代码逻辑或字段口径还没想清楚。这个过程比直接在大表上调试更可靠。
小结
分类统计看似简单,但它往往最早暴露数据质量问题。先清洗再统计,结果才有解释价值。
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!













