Python中pandas dataframe列逗号替换操作不生效如何解决?
替换pandas DataFrame列内逗号失效的解决方法
失效原因
- 你使用的
Series.replace()方法默认执行全值匹配:只有当某个单元格的完整值完全等于,时才会触发替换,无法处理字符串内部的子串替换需求。 - 你当前的Score列大概率是分箱生成的
Interval区间类型,本身不属于字符串类型,直接执行替换操作不会对内容生效。
正确实现代码
直接调用字符串访问器下的子串替换方法即可,会自动对每个单元格的内容做内部子串替换:
# regex=False指定匹配普通字符串,避免特殊字符转义问题 df['Score'] = df['Score'].astype(str).str.replace(',', '-<', regex=False)
先调用astype(str)显式将区间类型转为字符串,再执行子串替换,兼容所有数据类型场景。
内容的提问来源于stack exchange,提问作者Giampaolo Levorato
相关产品推荐
相关产品推荐

