pandas 字符串清洗
649 字
3 分钟
pandas 字符串清洗
pandas 字符串清洗
很多表格问题都藏在字符串里:前后空格、全角符号、大小写不一致、手机号带短横线、金额带单位。肉眼看起来差不多,程序匹配时却完全不同。
字符串清洗要尽量显式记录规则,避免把数据改得不可追溯。
先统一基本格式
s = df["name"].astype("string")df["name_clean"] = ( s.str.strip() .str.replace(" ", " ", regex=False) .str.replace(r"\s+", " ", regex=True))这里同时处理普通空格和全角空格,再把连续空白合并成一个空格。
提取结构化信息
df["phone_digits"] = df["phone"].astype("string").str.replace(r"\D", "", regex=True)df["province"] = df["address"].astype("string").str.extract(r"^(.*?省)")提取字段前先确认样本格式,不要只用一条记录写正则。
替换和映射
对于少量明确的同义值,可以用字典映射,比写一堆 if 更清楚。
mapping = {"男": "M", "男性": "M", "女": "F", "女性": "F"}df["gender_clean"] = df["gender"].astype("string").str.strip().map(mapping)清洗后检查
-
原始列不要立刻删除,保留对照。
-
统计清洗前后类别数量。
-
抽样查看被替换的记录。
-
对无法解析的值单独导出检查。
实战复盘
把《pandas 字符串清洗》放到真实数据分析里,我会先准备一份最小样例和一份异常样例。最小样例验证代码路径是否通,异常样例验证缺失值、重复值、类型错误或边界值是否被发现。
pandas 文章最重要的证据不是代码能运行,而是运行后打印出来的 shape、dtypes、缺失率、前几行样本和关键统计是否符合预期。这些输出应该保留在分析记录里。
如果这一步会影响后续报表或模型,我会把清洗前后的行数、字段数量和异常记录数量写清楚。这样以后结果变化时,能追溯到底是哪一步改变了数据。
最小验收样例
验收《pandas 字符串清洗》时,我会手写一个三到五行的小 DataFrame:一行正常数据,一行缺失或异常数据,一行边界数据。先让示例在小表上跑通,再换成完整数据集。
小表的好处是结果可以人工计算。只要人工结果和 pandas 输出对不上,就说明代码逻辑或字段口径还没想清楚。这个过程比直接在大表上调试更可靠。
小结
字符串清洗不是把文本变整齐这么简单,而是把不可控输入变成可分析字段。规则越明确,后续越容易复查。
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
相关文章智能推荐
1
pandas 缺失值处理
数据分析记录 pandas 中缺失值检查、删除、填充和简单统计的常用写法。
2
pandas 分析报告流程
数据分析整理从原始数据到 pandas 分析报告的完整流程,强调可复查和可交付。
3
pandas 交叉表统计
数据分析记录 pandas crosstab 交叉表的用法,用于分析两个分类变量之间的关系。
4
pandas 抽样检查数据
数据分析说明如何用 pandas 抽样检查数据,避免只看 head 带来的偏差。
5
pandas 导出 Excel 笔记
数据分析记录 pandas 导出 Excel 时多 sheet、索引、列宽和结果复核的常用做法。
随机文章随机推荐













