gpt4 book ai didi

Python Pandas 替换特殊字符

转载 作者:太空狗 更新时间:2023-10-30 02:20:21 26 4
gpt4 key购买 nike

出于某种原因,我无法让这个简单的语句在 ñ 上运行。它似乎适用于其他任何东西,但不喜欢那个角色。有什么想法吗?

DF['NAME']=DF['NAME'].str.replace("ñ","n")

谢谢

最佳答案

我假设您在这里使用的是 Python 2.x,这很可能是一个 Unicode 问题。别担心,您并不孤单 - unicode 通常非常难用,尤其是在 Python 2 中,这就是它在 Python 3 中成为标准的原因。

如果您只关心 ñ , 你应该用 UTF-8 解码,然后只替换一个字符。

这看起来像下面这样:

DF['name'] = DF['name'].str.decode('utf-8').replace(u'\xf1', 'n')

举个例子:

>>> "sureño".decode("utf-8").replace(u"\xf1", "n")
u'sureno'

如果您的字符串已经是 Unicode,那么您可以(实际上必须)跳过 decode步骤:

>>> u"sureño".replace(u"\xf1", "n")
u'sureno'

这里注意u'\xf1'使用 hex escape对于有问题的角色。

更新

我在评论中得知 <>.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。

关于Python Pandas 替换特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23839465/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com