如何使用配置JSON实现DataFrame中冗余无效数据的批量重命名替换
实现方案
步骤1:创建映射配置JSON文件
首先新建一个后缀为.json的配置文件,比如命名为replace_config.json,注意JSON语法要求所有字符串必须使用双引号包裹,不能用单引号,否则会加载报错,文件内容示例:
{ "a": "A", "b": "B" }
后续需要新增替换规则,直接在JSON里追加键值对即可。
步骤2:Python脚本实现批量替换
操作逻辑如下:
- 导入
pandas处理表格数据,导入Python内置的json库读取配置文件 - 加载JSON配置为Python字典格式
- 读入你的目标DataFrame
- 调用pandas内置的
replace方法传入映射字典,完成全表/指定列的批量替换
完整可运行示例代码:
import pandas as pd import json # 读取替换配置 with open("replace_config.json", "r", encoding="utf-8") as f: replace_mapping = json.load(f) # 这里是示例测试DataFrame,实际使用时替换为你自己的DataFrame读入逻辑即可 df = pd.DataFrame({ "类别": ["a", "b", "c", "a", "其他"], "标识": ["b", "d", "e", "a", "b"] }) # 全表批量替换匹配值 df = df.replace(replace_mapping) # 如果你只需要替换指定列,使用下面的写法即可,替换指定列的场景性能更好 # df[["类别", "标识"]] = df[["类别", "标识"]].replace(replace_mapping) # 输出验证结果 print(df)
以上逻辑支持所有和映射键完全匹配的内容批量替换,不管值在哪个单元格,只要完全命中键就会替换为对应的值,如果需要模糊匹配替换,可以在
replace方法中添加regex=True参数,同时把映射键写为正则表达式规则即可。
内容的提问来源于stack exchange,提问作者sayan_sen
相关产品推荐
相关产品推荐

