我有一个csv文件,数据行的示例如下:
Col A Col B Col C
‘Cat’ ‘9’ ‘’
‘Dog’ ‘’ ‘male’
Expected result ->
Cat 9
Dog male
我使用了 replace(" ' ", " ", regex=True(,但 ' ' 并没有消失。
您可以使用replace
:
df = df.replace("[‘’]","", regex=True)
print (df)
Col A Col B Col C
0 Cat 9
1 Dog male
仅根据您粘贴的内容,您的值可能不是''
而是 Unicode 字符。 @jezrael在他们的评论中暗示了这一点。因此,基于 ascii'
进行替换不会捕获 Unicode。
检查此问题的一种可能方法是:
import unidecode
(df.applymap(unidecode.unidecode)
.apply(lambda s: s.str.replace("'", "")
)
这样做有两件事:
使用unidecode
库将 Unicode 转义为 ascii,这是一个非常方便的通用库,用于将 Unicode 字符剥离为非常合理的 ascii 等效项。如果您经常进行文本处理和字符串规范化,那确实会有所帮助。
使用熊猫的
str
库,这是一个了不起的扩展。如果你像我一样定期对字符串数据进行EDA,这将真正改变你的生活。在遇到这个图书馆之前,我被蒙在鼓里多年。(另一个伟大的熊猫宝石是dt
图书馆。