如何使用Pandas中的索引列从“其他”行返回值

2024-09-21 03:23:26 发布

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

我的数据帧df由成对的行组成,这些行具有匹配的索引列['game_id']以及不同的值。如果我想创建一个引用同一索引的另一行中的值的列,我该怎么做

例如,如果我在['game_id']的第一行,并且我想为配对的['FGA']值创建一列,我该如何做?第一行将返回85,而第二行将返回90。在['game_id'] == 21900017 rows中,第一行将返回78,而第二行将返回109

game_id   Team  PTS FGM Miss FTA TOV Foul ORB DRB  UA  FGA    FG%   A%
21900008  BOS   93  33  57   34  10   29  10   31  15   90   0.367  0.545
21900008  PHI   107 37  48   36  15   34  12   50  13   85   0.435  0.649
21900017  BOS   112 42  67   16  9    21  21   35  21   109  0.385  0.5
21900017  TOR   106 37  41   17  23   28  5    41  15   78   0.474  0.595

Tags: 数据idgamedfteamptsrowsbos
1条回答
网友
1楼 · 发布于 2024-09-21 03:23:26

您可以使用groupby()apply()并反转分组序列的索引以查找该对的值:

df['FGA_pair'] = df.groupby('game_id')['FGA'].apply(lambda x: x.iloc[::-1]).reset_index(drop=True)

收益率:

    game_id Team  PTS  FGM  Miss  FTA  ...  DRB  UA  FGA    FG%     A%  FGA_pair
0  21900008  BOS   93   33    57   34  ...   31  15   90  0.367  0.545        85
1  21900008  PHI  107   37    48   36  ...   50  13   85  0.435  0.649        90
2  21900017  BOS  112   42    67   16  ...   35  21  109  0.385  0.500        78
3  21900017  TOR  106   37    41   17  ...   41  15   78  0.474  0.595       109

相关问题 更多 >

    热门问题