比较Python datafram中的一行与下一行

2024-09-25 08:28:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我想比较python数据帧中的一行和下一行,如果它们相同,就做一些加法。但是,我写的代码不起作用。在

我的播放数据帧头在下面。在

          GameCode  PlayNumber  PeriodNumber  Clock  OffenseTeamCode  \
0  299004720130829           1             1    900               47   
1  299004720130829           2             1    NaN              299   
2  299004720130829           3             1    NaN              299   
3  299004720130829           4             1    NaN              299   
4  299004720130829           5             1    NaN              299   

   DefenseTeamCode  OffensePoints  DefensePoints  Down  Distance  Spot  \
0              299              0              0   NaN       NaN    65   
1               47              0              0     1        10    75   
2               47              0              0     2         7    72   
3               47              0              0     3         1    66   
4               47              0              0     1        10    64   

  PlayType  DriveNumber  DrivePlay  
0  KICKOFF          NaN        NaN  
1     RUSH            1          1  
2     PASS            1          1  
3     RUSH            1          1  
4     RUSH            1          1  

我想比较第一行的游戏代码和第二行的匹配,做一些添加它们的操作等等。但是我在下面的代码中得到了一个错误。在

^{pr2}$

请帮忙。在


Tags: 数据代码nandistancedownclockspotrush
1条回答
网友
1楼 · 发布于 2024-09-25 08:28:18

也许您正在寻找groupby/sum操作:

yards = df.groupby(['GameCode', 'PlayType'])['Distance'].sum().unstack('PlayType')
# PlayType         KICKOFF  PASS  RUSH
# GameCode                            
# 299004720130829      NaN     7    21

对于每个GameCodePlayType,这将对Distances求和。unstack返回一个索引为GameCodes和列为{}s的数据帧


^{pr2}$

注意passing_yards和{}将是序列,索引为GameCodes。在

相关问题 更多 >