查找数据帧中项目的上一个值

2024-04-28 13:07:57 发布

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

我有这样一个数据框:

梳子

MATCH #     PLAYER      GAIN
  1          Sam         1
  1          Jerry       3
  2          Sonya       2
  2          Sam         4
  3          Jerry       1
  3          Tom         6
  4          Sonya       3
  4          Tom         2
  5          Jerry       4
  5          Sonya       5

我需要添加一列“增益_1”,显示每个玩家上一场比赛的“增益”值

在Excel中,这可以通过一个简单的索引(MATCH())函数来完成

因此,我期望的输出是:

df_comb_2

MATCH #     PLAYER      GAIN     GAIN_1
  1          Sam         1        NaN
  1          Jerry       3        NaN
  2          Sonya       2        NaN
  2          Sam         4         1
  3          Jerry       1         3   
  3          Tom         6        NaN
  4          Sonya       3         2
  4          Tom         2         6
  5          Jerry       4         1
  5          Sonya       5         3

我的尝试是根据索引编号通过df_comb进行运行切片,然后返回“增益”的最终值。这是我用来尝试的代码:

df_comb['GAIN_1'] = df_comb[0:df_comb.index].loc[df_comb['PLAYER'] == df_comb['PLAYER'].index]['GAIN'][-1]

然而,一个错误指出我不能在这里进行切片索引

我想一定有办法做到这一点,但我被卡住了

谢谢


Tags: 数据dfindexsammatch增益切片nan