我最近使用了{
df.groupby(['tourney_name', 'year', 'winner_name'])['winner_games_played'].cumsum()
一场比赛的网球比赛数据集:
这对胜利者来说相对简单,但对失败者来说就不那么简单了。鉴于当前比赛中的失败者通过了锦标赛的第一轮,这意味着他们之前至少赢过一场比赛,因此是前一场比赛的赢家。这使事情变得复杂,因为赢家和输家列在数据中是分开的。因此,我相信我写的带有np.cumsum()
的简短代码(如上图所示)对失败者不起作用
有谁能帮助我为失败者创造一些类似于我为胜利者所做的事情(冠军\锦标赛\游戏\累积专栏)?我想要的是失败者在本次锦标赛的前几场比赛中赢得的比赛数的累计总和
对于失败者,我的设想是这样的(你可以忽略下面的x):
对于费德勒在他输掉的那场比赛来说,应该是79场(他在过去几场比赛中在第一桌赢得的累计比赛)+22场(他在这场比赛中赢了多少场)=101场
非常感谢
这需要一些转换。我们首先用df逐行列出每一场比赛的赢家和输家:
我们得到
现在我们可以按玩家名称计算
cumsum
:所以我们得到了
也许这对你的目的来说已经足够了。但如果不是,我们通过
groupby
和unstack
将其恢复(或多或少)原始形状得到
除了一些不同的列名外,数据是您想要的,即(‘cum_games’、‘losser_name’)列是每轮失败者赢得的累计游戏数
相关问题 更多 >
编程相关推荐