由于某些原因,我无法在 ñ
上使这个简单的语句起作用。它似乎可以在其他任何字符上正常工作,但不喜欢这个字符。有什么想法吗?
DF['NAME']=DF['NAME'].str.replace("ñ","n")
谢谢
DF['name'] = DF['name'].str.decode('utf-8').replace(u'\xf1', 'n')
>>> "sureño".decode("utf-8").replace(u"\xf1", "n")
u'sureno'
decode
步骤:>>> u"sureño".replace(u"\xf1", "n")
u'sureno'
u'\xf1'
使用了十六进制转义来表示该字符。
评论中有人告诉我<>.str.replace
是pandas系列方法,我之前没有意识到。可能的答案如下:
DF['name'] = map(lambda x: x.decode('utf-8').replace(u'\xf1', 'n'), DF['name'].str)
如果那个Pandas对象是可迭代的,或者类似这样的内容。
实际上,我想到你的问题可能就是以下简单的内容:
DF['NAME']=DF['NAME'].str.replace(u"ñ","n")
u
,使其成为Unicode编码。.str
返回字符串。 - jdotjdotu'\xc9'
一样。 - Tjorriemorrie您可以使用替换函数将特殊字符替换为您选择的不同值,方法如下:
如果您的数据框是df,并且您必须在所有字符串列中执行此操作。在我的情况下,我正在针对“\n”执行此操作。
df= df.applymap(lambda x: x.replace("\n"," "))