gpt4 book ai didi

python - 在 Pandas 中加入键不相等的地方

转载 作者:行者123 更新时间:2023-12-05 01:39:33 26 4
gpt4 key购买 nike

我有一个这样的数据框:

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

但我无法在 pandas 文档或此处找到任何在 pandas 本身中复制它的方法。我在这里查看并找到了这个 link但它与我正在尝试做的不太一样。我只找到了尝试在键相等的地方加入的例子。

最佳答案

这是使用merge的一种方式

Yourdf=game_df.merge(game_df,on='gameid',suffixes =['','_opponent']).query('teamid!=teamid_opponent')
Out[42]:
teamid gameid rebounds teamid_opponent rebounds_opponent
1 1 1 20 2 35
2 2 1 35 1 20
5 3 2 43 4 15
6 4 2 15 3 43

关于python - 在 Pandas 中加入键不相等的地方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58119487/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com