I have two data frames. First, saves coordinates and places
data = [['xx1', 1,10,'Madrid'], ['xx2',15,20,'London']]
df1 = pd.DataFrame(data, columns = ['precode', 'start', 'stop','city'])
The second
data2 = [['xx1', 3,11,'location1',], ['xx2',9,17,'location2'],['xx2',21,30,'location3'],['xx5',1,19,'location4']]
df2 = pd.DataFrame(data2, columns = ['precode', 'start', 'stop','locations'],)
I want to check if locations are in city. If so add in df2 the name of the cities
precode start stop location city
xx1 3 11 location1 Madrid
xx2 9 17 location2 Madrid;London # If more than one city affected, add as many as cities affected as found
xx2 21 30 location3 NaN
xx5 1 19 location4 NaN
I don't even know how to start. Shall I convert column into a dict to do the checking process or can shall I itinerate values of one column to the column of the other data frame. df1 is much bigger than df2. Both data frames have more columns. The final output need to be an identical as was df2 but with the new column city.