我具有以下形式的DataFrame:
Name Count
Car 500
Cars 300
Train 100
trainz 200
Planes 1000
Plane 100
planses 1
Ship 100
ships 10
我正在尝试将相似的值彼此匹配,以便将count
列中的数字相加以获得相似的值。
因此,输出数据帧将是name
列中给定类型的第一个发现值,并且是count
列中所有相似值的总和。
Name Count
Car 800
Train 300
Planes 1101
Ship 110
答案 0 :(得分:1)
看看difflib。
以下代码
import difflib
print(difflib.get_close_matches('Car', ['Car', 'Cars', 'Train', 'trainz', 'Planes', 'Plane', 'planses', 'Ship', 'ships']))
print(difflib.get_close_matches('Train', ['Car', 'Cars', 'Train', 'trainz', 'Planes', 'Plane', 'planses', 'Ship', 'ships']))
print(difflib.get_close_matches('Planes', ['Car', 'Cars', 'Train', 'trainz', 'Planes', 'Plane', 'planses', 'Ship', 'ships']))
print(difflib.get_close_matches('Ship', ['Car', 'Cars', 'Train', 'trainz', 'Planes', 'Plane', 'planses', 'Ship', 'ships']))
提供您想要的组
['Car', 'Cars']
['Train', 'trainz']
['Planes', 'Plane', 'planses']
['Ship', 'ships']
答案 1 :(得分:0)