У меня есть два pandas кадра данных. У них одинаковые пары имен победителей и проигравших, но они находятся в разных порядках в двух кадрах данных.
DF1
Winner Loser RankW RankL
0 Fleishman Z. Calleri A. 170.0 26.0
1 Roddick A. Tsonga J.W. 7.0 212.0
2 Gasquet R. Volandri F. 17.0 45.0
DF2
Winner Loser WHand LHand
0 Gasquet R. Volandri F. R R
1 Fleishman Z. Calleri A. L R
2 Roddick A. Tsonga J.W. R R
Я хочу объединить их в один Dataframe, однако всякий раз, когда я пытаюсь это сделать, я получаю дополнительные строки. То, что я хочу получить:
Winner Loser RankW RankL WHand LHand
0 Fleishman Z. Calleri A. 170.0 26.0 L R
1 Roddick A. Tsonga J.W. 7.0 212.0 R R
2 Gasquet R. Volandri F. 17.0 45.0 R R
Таким образом, я хочу объединить их, следуя порядку пар в DF1, но добавив соответствующие значения WHand и LHand в DF2.
I Я знаю, что все пары соответствуют, потому что я попытался определить строки в DF1, которых не было в DF2, но их нет.
names = DF2[['Winner','Loser']]
df = DF1.merge(names, on=['Winner','Loser'],how = 'outer' ,indicator=True).loc[lambda x : x['_merge']=='left_only']
len(df)
Out: 0