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

如何用Python字典批量替换Pandas DataFrame列中的多个字符?

Pandas DataFrame列批量字符替换优化

我想写更简洁的代码来替换Pandas DataFrame列中的特定字符,原来的代码是这样的:

df['age'] = ['[70-80)', '[50-60)', '[60-70)', '[40-50)', '[80-90)', '[90-100)']

df['age'] = df['age'].str.replace('[', '')
df['age'] = df['age'].str.replace(')', '')
df['age'] = df['age'].str.replace('50-60', '50-59')
df['age'] = df['age'].str.replace('60-70', '60-69')
df['age'] = df['age'].str.replace('70-80', '70-79')
df['age'] = df['age'].str.replace('80-90', '80-89')
df['age'] = df['age'].str.replace('90-100', '90-99')

我尝试用字典批量替换,但没成功,df['age']里的字符串完全没被替换:

chars_to_replace = {
    '[' : '',
    ')' : '',
    '50-60' : '50-59',
    '60-70' : '60-69',
    '70-80' : '70-79',
    '80-90' : '80-89',
    '90-100': '90-99'
}

for key in chars_to_replace.keys():
    df['age'] = df['age'].replace(key, chars_to_replace[key])

更新

后来发现问题出在没给replace加str前缀,加上之后就正常工作了,谢谢大家的提醒!

另外感谢tdelaney提供的正则替换方案,试了之后确实有效,但我目前对正则还不太熟悉,暂时先不采用这个方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 21:45:34