У меня есть 2 столбца в кадре данных (обе строки) и отдельный список.
name id
0 wine 2
1 beer 4
2 cheese 6
3 yogurt 8
4 choc 10
5 whisky 12
list = ["beers","wines","whiskies","chocolates and candy","cheeses","yogurts"]
Я хочу сравнить список и столбец "имя" и создать новый столбец в качестве "категории", который будет одним из списка
ожидаемый результат:
name id category
0 wine 2 wines
1 beer 4 beers
2 cheese 6 cheeses
3 yogurt 8 yogurts
4 choc 10 chocolates and candy
5 whisky 12 whiskies
Я начал с чего-то вроде этого
from difflib import SequenceMatcher
def similar(a, b):
return SequenceMatcher(None, a, b).ratio()
for i in df["name"]:
for x in subcategory:
z = similar(i,x)
if z >= 0.60:
но не знал что делать, заблокировали
Это мне очень помогло, большое спасибо, но у меня есть вопрос, вы не знаете, можно ли это сделать с испанскими словами?
Я не могу обещать, что это будет на 100% правильно во всех случаях, но это определенно работает для испанского языка.