gpt4 book ai didi

python-3.x - 如何从数据框中返回“拼写不同”的名称

转载 作者:行者123 更新时间:2023-12-05 05:11:11 25 4
gpt4 key购买 nike

如您所知,很多名字都有多个拼写。

我有一个包含名字和姓氏的数据集,但我遇到了拼写变体的问题。

这是来自数据集的示例:

    firstName  lastName
0 Ali Khaled
1 Hamada 5ald
2 3ly 7mada
3 7amada 5aled
4 Sophia Andrew
5 Sofiya Jaxon
6 Matthieu Jackson
7 Matthieu Jozeph
8 Mathew Andru

所以我试图让所有人都知道他们的名字是“Mathew”:
马修、马修和马修

或者名字或姓氏是“Hamada”的人:
滨田,7amada,7mada

我尝试用相应的字母替换这些数字,然后使用 get_close_matches 函数,但它既不准确也不符合 Python 风格。

编辑:
我认为将所有多个拼写替换为流行的拼写会更好(第一个和最后一个)。因此,如果 {"Matthew": 4, "Mathew": 2, "Matthieu": 1} ,将 "Mathew"和 "Matthieu"替换为 "Matthew"

最佳答案

您可以执行以下操作来对接近的匹配项进行分组并将其作为新列返回:


from difflib import get_close_matches as gsm

df['Close_Matches'] = [', '.join(gsm(name, df.firstName)) for name in df.firstName]

print(df)

firstName lastName Close_Matches
0 Ali Khaled Ali
1 Hamada 5ald Hamada, 7amada
2 3ly 7mada 3ly
3 7amada 5aled 7amada, Hamada
4 Sophia Andrew Sophia, Sofiya
5 Sofiya Jaxon Sofiya, Sophia
6 Matthieu Jackson Matthieu, Matthieu, Mathew
7 Matthieu Jozeph Matthieu, Matthieu, Mathew
8 Mathew Andru Mathew, Matthieu, Matthieu

关于python-3.x - 如何从数据框中返回“拼写不同”的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55698640/

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