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

如何将所有短横线替换为空格?Pandas replace方法失效问题

解决pandas中替换所有'-'为对应空格的问题

针对你的数据集和需求,直接用test1.replace('-',' ',regex=True)可能因DataFrame级别的替换逻辑导致未达预期,推荐使用字符串列专属的str.replace方法,确保每个'-'都被替换成单个空格:

解决方案代码

import pandas as pd

dataset = ['0000sh--_dsd' , '0000sd---_dsd' , '000ad-_512']
test1 = pd.DataFrame(dataset)

# 针对字符串列执行替换,每个'-'替换为一个空格
test1[0] = test1[0].str.replace('-', ' ', regex=True)
print(test1)

执行后输出结果:

0
0  0000sh  _dsd
1  0000sd   _dsd
2  000ad _512

补充说明

如果一定要用DataFrame的replace方法,需启用inplace=True直接修改原数据,或者接收返回的新DataFrame:

test1.replace('-', ' ', regex=True, inplace=True)

不过str.replace更适合处理字符串列的替换场景,逻辑更清晰,不易出现类型匹配问题。

内容的提问来源于stack exchange,提问作者Sathish Kumar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 03:40:53