Панды присоединяются к 2 фреймам данных на основе рейтингаPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Панды присоединяются к 2 фреймам данных на основе рейтинга

Сообщение Anonymous »

Скажем, у меня есть 2 фрейма данных с 3 общими идентификационными столбцами.

Код: Выделить всё

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. Я хочу назначить рейтинг на основе совпадения столбцов и объединить их с использованием наивысшего рейтинга.
Я хочу объединить 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
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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