繁体   English   中英

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

[英]How to return value from "other" row using index column in Pandas

我的数据框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

您可以使用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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM