Учитывая эти два кадра данных, как получить предполагаемый выходной кадр данных?Долгий путь состоял бы в том, чтобы циклически проходить по строкам кадра данных с iloc
, а затем использовать функцию map
после преобразования df2
в dict
, чтобы сопоставить x и y с их счетом.
Это кажется утомительным и заняло бы много времени, чтобы работать на большом кадре данных.Я надеюсь, что есть более чистое решение.
df1:
ID A B C
1 x x y
2 y x y
3 x y y
df2:
ID score_x score_y
1 20 30
2 15 17
3 18 22
вывод:
ID A B C
1 20 20 30
2 17 15 17
3 18 22 22
Примечание:у фреймов данных будет много столбцов, и в качестве категорий будет больше, чем просто x и y (возможно, в области из 20 категорий).
Спасибо!