DataFrame字符串替换函数失效:无法移除字符串中的'K'字符
解决DataFrame列移除'K'字符的问题
你的问题出在大小写不匹配——目标字符串里的是大写的K,但你的函数里替换的是小写的k,所以根本没匹配到。
修正后的自定义函数
def k_remover(a): a = a.replace('K', '') # 把小写k改成大写K return a
更灵活的写法(兼容大小写)
如果担心字符串里同时存在大小写的K,可以用不区分大小写的替换逻辑:
def k_remover(a): import re return re.sub(r'k', '', a, flags=re.IGNORECASE)
直接用pandas原生方法更高效
其实不用自定义函数,直接用pandas的字符串处理方法就能快速处理整列数据:
df['目标列名'] = df['目标列名'].str.replace('K', '') # 兼容大小写的版本 df['目标列名'] = df['目标列名'].str.replace('k', '', case=False)
测试你的目标字符串$111K-$181K (Glassdoor est.),修正后会得到$111-$181 (Glassdoor est.),完全符合需求。
内容的提问来源于stack exchange,提问作者iman maneshi
相关产品推荐
相关产品推荐

