Я хочу заполнить df1
столбец Dataframe «Категория» правильными значениями из df2
столбца Dataframe «Category».
import pandas as pd
df1 = pd.DataFrame({"Receiver": ["Insurance company", "Shop", "Pizza place", "Library", "Gas station 24/7", "Something else", "Whatever receiver"], "Category": ["","","","","","",""]})
df2 = pd.DataFrame({"Category": ["Insurances", "Groceries", "Groceries", "Fastfood", "Fastfood", "Car"], "Searchterm": ["Insurance", "Shop", "Market", "Pizza", "Burger", "Gas"]})
Выход:
df1
Receiver Category
0 Insurance company
1 Shop
2 Pizza place
3 Library
4 Gas station 24/7
5 Something else
6 Whatever receiver
df2
Category Searchterm
0 Insurances Insur
1 Groceries Shop
2 Groceries Market
3 Fastfood Pizza
4 Fastfood Burger
5 Car Gas
Я хочу сравнить df1["Receiver"]
с df2["Searchterm"]
строка за строкой и , где последний даже частично совпадает с первым , присвоить df2["Category"]
этой строке значение df1["Category"]
.
Например, «Пицца» в df2["Searchterm"]
частично соответствует «Пицце» в df1["Receiver"]
, поэтому я хочу присвоить «Фастфуд» (который относится к категории «Пицца» в df2["Category"]
) для «Пиццы» категория в df1["Category"]
.
Желаемый результат будет:
df1
Receiver Category
0 Insurance company Insurances
1 Shop Groceries
2 Pizza place Fastfood
3 Library
4 Gas station 24/7 Car
5 Something else
6 Whatever receiver
Так, как я могу заполнить df1["Category"]
правильными категориями? Спасибо.