
И еще один лист, с которым я хочу сопоставить:
[img]https://i. sstatic.net/XJZGgwcg.png[/img]
Я хотел бы добавить столбец «шаблон» с листа 2 на лист 1 на основе соответствия маршрута, поездки и направления. Например, для R3 с идентификатором поездки 1330, обслуживание которого осуществляется в воскресенье и имеет направление L, должен быть вставлен элемент шаблона LP. Сначала я попробовал использовать слияние df, сопоставив имена строк в «service» с соответствующим форматом даты и времени, а затем выполнил левое слияние в pandas, но получил кучу дополнительных строк.
Код: Выделить всё
merged_df = pd.merge(
route_df,
pattern_df[['Route', 'Direction', 'Date', 'Pattern']],
on=['Route', 'Direction', 'Date'],
how='left')

Простой выход — создать цикл for для перебора каждой строки и определения условий в словаре, однако мой набор данных состоит из нескольких миллионов строк, и сделать это таким образом было бы очень дорого в вычислительном отношении.
Подробнее здесь: https://stackoverflow.com/questions/783 ... n-elements