You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何应用正则表达式替换Pandas DataFrame中的不规范省份名称

解决方法

我们可以通过pandas内置的字符串正则处理方法,先清除省份名称的前缀,再统一转为全大写实现标准化,完整可运行代码如下:

import pandas as pd

# 构造原始DataFrame
province = {'province':['Prov. Jawa Barat', 'JAWA BARAT', 'Prop. Jawa Barat', 'Prov. Sumarta Selatan', 'SUMARTA SELATAN', 'Prop. Sumatra Selatan'],
            'city':['Bandung', 'Bogor', 'Cimahi', 'Palembang', 'Solo', 'Cilacap']}
df_prov = pd.DataFrame(province)

# 核心处理逻辑
# 1. 正则匹配删除开头的Prov.、Prop.前缀及后续空格
# 2. 统一转换为全大写,匹配标准命名
df_prov['province'] = df_prov['province'].str.replace(r'^(Prov|Prop)\.\s*', '', regex=True).str.upper()

# 可选:修正原始数据中的拼写误差(Sumatra拼写为标准的Sumarta)
df_prov['province'] = df_prov['province'].replace('SUMATRA SELATAN', 'SUMARTA SELATAN')

处理后province列的输出结果:

0            JAWA BARAT
1            JAWA BARAT
2            JAWA BARAT
3    SUMARTA SELATAN
4    SUMARTA SELATAN
5    SUMARTA SELATAN
Name: province, dtype: object

正则说明

  • ^:匹配字符串起始位置
  • (Prov|Prop):匹配Prov或Prop两种前缀
  • \.:匹配前缀后的英文句点
  • \s*:匹配句点后可能存在的任意数量空格

内容的提问来源于stack exchange,提问作者Insan Cahya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 00:39:00