You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何统计多份Pandas DataFrame中player_x击败player_y的次数?

统计玩家对战胜负次数

数据背景

我有一个包含四名玩家所有两两组合的DataFrame:

players_combinations
 #   player_x   player_y
---  --------   --------
 0   player_1   player_2
 1   player_1   player_3
 2   player_1   player_4
 3   player_2   player_3
 4   player_2   player_4
 5   player_3   player_4

同时还有多个记录单局游戏玩家名次的DataFrame:

game_1
 #   player     place
---  --------   -----
 0   player_1   2
 1   player_2   3
 2   player_3   1

game_2
 #   player     place
---  --------   -----
 0   player_2   2
 1   player_3   1

game_3
 #   player     place
---  --------   -----
 0   player_1   3
 1   player_2   1
 2   player_4   2

需求说明

需要统计所有游戏中,player_x的place值小于player_y的次数(即player_x击败player_y的次数,记为won),以及player_x的place值大于player_y的次数(即player_x输给player_y的次数,记为lost)。

预期结果

result
 #   player_x   player_y   won        lost
---  --------   --------   --------   --------
 0   player_1   player_2   1          1
 1   player_1   player_3   null       1
 2   player_1   player_4   null       1
 3   player_2   player_3   null       2
 4   player_2   player_4   1          null
 5   player_3   player_4   null       null

结果解释

  • 第0行:player_1击败player_2 1次,输给player_2 1次。
  • 第1行:player_1从未击败player_3,输给player_3 1次。
  • 第2行:player_1从未击败player_4,输给player_4 1次。
  • 第3行:player_2从未击败player_3,输给player_3 2次。
  • 第4行:player_2击败player_4 1次,从未输给player_4。
  • 第5行:player_3与player_4从未对战过。

内容的提问来源于stack exchange,提问作者mauriciokaminski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 18:33:25