Я очень новичок в Python. Как я могу сопоставить один текстовый фрейм данных с другим? (пожалуйста, отредактируйте этот вопрос, если я задам это неправильно)
Например, учитывая эти входные данные:
df1 =
id Names
0 123 Simpson J.
1 456 Snoop Dogg
df2 =
Names
0 John Simpson
1 Snoop Dogg
2 S. Dogg
3 Mr Dogg
Есть ли способ, который я мог бы найти (возможно, используя findall
или match
или любые пакеты python), чтобы я мог указать, сколько раз появлялись имена с идентификатором, что почти похоже на этот результат:
result =
id Names_appeared
0 123 1
1 456 3
Ищу краткое объяснение и некоторый URL, чтобы помочь мне понять.
result
, как вы не объяснили, какNames
сопоставляются друг с другом, поскольку похоже, что вы выполняете какое-то нечеткое сопоставление или просто сопоставляете любое слово вdf1
в любых словах вNames
столбце вdf2
? - person EdChum   schedule 20.05.2016fuzzywuzzy
модуль Python. - person IanS   schedule 20.05.2016df1
сdf2
. Вы сравниваете только столбецdf1['Names']
сdf2['Names']
нормализованным способом с учетом дублирования; вам нужно нормализоватьJohn Simpson
доSimpson J.
; вы просто предполагаете, что имя-фамилия взаимозаменяемы? Кроме того, вы выбрасываете столбцы идентификаторов. - person smci   schedule 05.03.2020