如何在DataFrame中处理字符串连续空格,保留单个空格?
解决特定位置多空格替换为单个空格的问题
你有一个包含10万行、300列的数据集,其中EVENT_DTL列存在这样的情况:with和marriage_virgin(或其他marriage_开头的字段)之间有多个连续空格,需要把这些多空格替换成单个空格。
直接用Python的pandas结合正则表达式就能高效解决,步骤如下:
- 导入pandas并读取数据集(根据你的实际文件格式调整读取方式,比如Excel用
pd.read_excel) - 对
EVENT_DTL列使用正则替换,精准匹配with后的多空格+marriage_开头的内容,替换为单个空格连接的形式 - 保存处理后的数据集
具体代码:
import pandas as pd # 读取数据集,示例为csv格式,按需调整 df = pd.read_csv('你的数据集文件.csv') # 执行替换:匹配with后接多个空格+marriage_开头的内容,替换为with加单个空格加marriage_部分 df['EVENT_DTL'] = df['EVENT_DTL'].str.replace(r'(with)\s+(marriage_)', r'\1 \2', regex=True) # 保存处理后的文件 df.to_csv('处理后的数据集.csv', index=False)
说明
- 正则表达式
(with)\s+(marriage_)精准定位你要处理的位置:(with)捕获with文本,\s+匹配一个及以上连续空格,(marriage_)捕获marriage_开头的字段前缀 - 替换后的
\1 \2表示用捕获到的with+单个空格+捕获到的marriage_部分,完美替换掉中间的多空格 - pandas处理10万行数据速度快,适合大规模数据集的批量处理
内容的提问来源于stack exchange,提问作者Chung Joshua
相关产品推荐
相关产品推荐

