我假设您在这里使用Python 2.x,这可能是Unipre问题。不用担心,您并不孤单-unipre通常非常困难,尤其是在Python 2中,这就是为什么它在Python 3中成为标准的原因。
如果您只关心ñ,则应使用UTF-8解码,然后仅替换一个字符。
看起来类似于以下内容:
DF['name'] = DF['name'].str.depre('utf-8').replace(u'xf1', 'n')
举个例子:
>>> "sureño".depre("utf-8").replace(u"xf1", "n")u'sureno'
如果您的字符串已经是Unipre,则可以(实际上必须)跳过该depre步骤:
>>> u"sureño".replace(u"xf1", "n")u'sureno'
请注意,此处u’xf1’将十六进制转义用于所讨论的字符。
更新资料
我在评论中被告知<>.str.replace是熊猫系列方法,但我没有意识到。对此的答案可能类似于以下内容:
DF['name'] = map(lambda x: x.depre('utf-8').replace(u'xf1', 'n'), DF['name'].str)
或类似的东西(如果该熊猫对象是可迭代的)。
另一个更新
实际上,我刚想到您的问题可能很简单,如下所示:
DF['NAME']=DF['NAME'].str.replace(u"ñ","n")
请注意,我是如何u在字符串前面添加使其成为unipre的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)