pandas 抽样检查数据
631 字
3 分钟
pandas 抽样检查数据
pandas 抽样检查数据
很多人检查数据只看 head(),但前几行往往不能代表全表。排序后的数据、按时间追加的数据、分组导出的数据,都可能让前几行非常单一。
抽样检查的目标是从不同位置、不同类别里看到真实数据形态。
随机抽样
sample = df.sample(n=20, random_state=42)print(sample)random_state 可以让抽样结果可复现。排查问题时,能复现很重要。
按类别抽样
如果数据有类别字段,只做全局随机抽样可能抽不到少数类。可以按组抽样,每个类别取几条。
sample_by_class = ( df.groupby("category", group_keys=False) .apply(lambda x: x.sample(min(len(x), 3), random_state=42)))print(sample_by_class)抽样看什么
-
字段格式是否统一。
-
文本是否有空格、乱码、异常符号。
-
数值范围是否符合常识。
-
日期是否跨越预期时间段。
-
少数类别是否存在特殊格式。
抽样不能替代统计
抽样适合发现样子不对的数据,但不能证明数据没有问题。抽样后仍然要配合缺失率、唯一值数量、分位数等统计指标。
实战复盘
写《pandas 抽样检查数据》这类数据分析文章时,我会强制保留“检查点”。因为数据分析里最危险的不是报错,而是代码顺利跑完却得到错误结论。
一个合格的 pandas 步骤,至少要能回答:输入多少行、输出多少行、哪些字段被修改、失败值有多少、是否有样本可以人工复核。缺少这些信息,代码就很难进入正式流程。
如果以后把这些文章串成系列,可以按读取、检查、清洗、变换、统计、导出排列。这样读者能从原始数据一路走到可交付结果。
最小验收样例
验收《pandas 抽样检查数据》时,我会手写一个三到五行的小 DataFrame:一行正常数据,一行缺失或异常数据,一行边界数据。先让示例在小表上跑通,再换成完整数据集。
小表的好处是结果可以人工计算。只要人工结果和 pandas 输出对不上,就说明代码逻辑或字段口径还没想清楚。这个过程比直接在大表上调试更可靠。
小结
抽样检查是数据分析的肉眼校验环节。不要只看前几行,要让样本覆盖不同类别和不同位置。
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!













