У меня есть такой фрейм данных:
data = {'teamid': [1, 2, 3, 4], 'gameid': [1, 1, 2, 2], 'rebounds': [20, 35, 43, 15]}
game_df = pd.DataFrame(data=data)
print(game_df)
teamid gameid rebounds
0 1 1 20
1 2 1 35
2 3 2 43
3 4 2 15
Я бы хотел присоединить его к себе сам, чтобы создать такой фрейм данных:
wanted_data = {'teamid': [1, 2, 3, 4], 'gameid': [1, 1, 2, 2], 'rebounds': [20, 35, 43, 15],
'teamid_opponent': [2, 1, 4, 3], 'rebound_opponent': [35, 20, 15, 43]}
wanted_df = pd.DataFrame(data=wanted_data)
print(wanted_df)
teamid gameid rebounds teamid_opponent rebound_opponent
0 1 1 20 2 35
1 2 1 35 1 20
2 3 2 43 4 15
3 4 2 15 3 43
В SQL я бы просто сделалчто-то вроде этого:
SELECT * from game_df df1 join game_df df2 on df1.gameid = df2.gameid and df1.teamid != df2.teamid
Но я не смог найти ничего в документах панд или здесь, чтобы найти способ воспроизвести это в самих пандах.Я посмотрел здесь и нашел эту ссылку , но это не совсем то, что я пытаюсь сделать.Я нашел только примеры попыток присоединиться, когда ключи равны.