Код: Выделить всё
dataframe1
id1 id2 id3 value1 value2 value3
1001 9001 3001 blue square true
dataframe2
id1 id2 id3 valuex valuey valuez
1001 9001 3001 1000 2.5 5
1001 null null 200 1.0 3
null 9001 null 200 5.4 0
null 9001 3001 1000 3.5 6
1001 9001 null 1001 4.5 7
1001 null 3001 1001 4.5 7
Я хочу объединить dataframe1 и dataframe2 на основе ранжирования между столбцами идентификаторов id1, id2 и id3, если 3 столбцы совпадают, я хочу учитывать, что самый высокий рейтинг и присоединиться, и игнорировать другие строки, которые соответствуют id1 и id2 или id2 и id3 и т. д., если 3 столбца не совпадают, я хочу рассмотреть строки, в которых 2 столбца идентификаторов совпадают, и расставить приоритеты - скажем, если есть 2 строки с двумя идентификаторами, совпадающими, например, id1 и id2, id2 и id3, я хочу установить приоритет id2 и id3 (это означает, что они получат более высокий рейтинг).
Как это сделать? я собираюсь об этом? Я бы предпочел использовать функцию для расчета рейтинга, чтобы можно было реализовать сложную логику.
Подробнее здесь: https://stackoverflow.com/questions/790 ... on-ranking