多列的多个子字符串替换

2024-03-29 14:59:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据集,由于数据输入的语言,它在几列中包含特殊字符转换。 我想将这些特殊字符表示替换为以下字典中定义的拉丁字符

replacements={"ı": "i", "İ": "i", "Ç": "c", "ç" : "c", "ü" : "u", "Ì": "u", "ö" : "o", "Ö" : "o", "ş": "s",
          "Å?" : "s", "ÅŽ" : "s", "ÄŸ" : "g", "Ä?" : "g", "ÄŽ" : "g"}

正如可以看到的,有几个替换将被应用,因此使用replace()将不会是一个花哨的编码。一个字符串中可能有多个特殊字符子字符串,因此应为每个字符串执行所有这些子字符串。 此外,我需要将它们应用于数据帧的几列

DF[['NAME','SURNAME','ADDRESS','EMAIL']].

是否可以编写一个奇特的代码来替换字典中定义的所有字符并应用于多个列


Tags: 数据字符串name语言编码df字典定义
1条回答
网友
1楼 · 发布于 2024-03-29 14:59:13

replace可以是一个东西,只需迭代一下就可以了(不过这并不是那么花哨)

def rp(x):
   x = str(x).lower()
   for key, value in replacement.items():
        x.replace(key,value)
   return x

df = DF[['NAME','SURNAME','ADDRESS','EMAIL']].apply(rp)

相关问题 更多 >