Pandas和python的新手,有一个关于在整个数据框中替换多个unicode字符的问题。使用python 2.7并从Excel工作表导入。我的愿望是将所有非ascii字符替换为与它们相等的ascii字符或什么都不替换。

例子:
u'SHOGUN JAPANNESE \ u2013 GRAND'
u'舒适的旅馆和套房\ xa0STONE MOUNTAIN'

这可行,但是很麻烦:

rawdf = rawdf["Account_Name"].str.upper().str.replace(u'\u2013', ' ').str.replace(u'\xa0', '-') + "|" + rawdf["COID"].str.upper()


这不起作用:

rawdf = rawdf.replace(u'\u2013', ' ')

最佳答案

您可以像这样进行编码/解码循环:

rawdf["Account_Name"].str..encode('ascii', 'ignore').str.decode('ascii')


使用“忽略”会使不能以ascii表示的字符被删除。中间表示是字节,因此我们需要再次将其编码回字符串。

关于python - Pandas 数据框替换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39172068/

10-16 17:36