如何移除Pandas DataFrame列中的Â和»特殊字符?
解决Pandas DataFrame列中特殊字符移除问题
正确处理代码
你之前的代码没生效,是因为直接调用的Series.replace()默认是匹配整个元素值来替换,而非针对字符串内的子串操作。要处理字符串里的特殊字符,必须用Pandas的字符串访问器str:
- 方法1:分别替换两个字符
df9['special_character'] = df9['special_character'].str.replace('Â', '').str.replace('»', '')
- 方法2:用正则表达式一次性替换多个字符(更高效)
df9['special_character'] = df9['special_character'].str.replace('[»]', '', regex=True)
额外说明
如果你的数据是因为编码错误(比如UTF-8和Latin-1编码混淆)导致出现Â,可以尝试先重新编码修复:
df9['special_character'] = df9['special_character'].str.encode('latin-1').str.decode('utf-8')
这一步会把»还原成原本的»,之后再单独移除»即可。
内容的提问来源于stack exchange,提问作者PiCubed
相关产品推荐
相关产品推荐

