city_list = city.tolist()

def match_city(row):
    for city in city_list:
        if city in row['university']:
            return city
return 'None'
df['city'] = df.apply(match_city, axis=1)
Как разумно сопоставить два фрейма данных с помощью Python (используя панды или другие средства)?