Вставить строку на основе совпадающих элементов столбцаPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Вставить строку на основе совпадающих элементов столбца

Сообщение Anonymous »

У меня есть данные, которые выглядят следующим образом (отредактированы в целях конфиденциальности):
Изображение

И еще один лист, с которым я хочу сопоставить:
[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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»