我有以下数据框,它是所有先前竞赛者和相关教练的清单。请注意,培训师会随着时间而变化。

      Date       R   H   Fin  Trainer
0     11182017   1   1   2     1
1     12182017   2   1   1     1
2     01182018   5   1   6     2
3     02182018   8   1   2     2
4     01182018   1   2   1     2
5     02182018   3   2   5     3
6     03182018   3   2   2     3


我想按日期和日期将每个种族与上一个种族进行比较,确定“ Trainer”何时更改,然后指出那个教练有多少次

下面的结果示例

      Date       R   H   Fin  Trainer #
0     11182017   1   1   2     1      1
1     12182017   2   1   1     1      2
2     01182018   5   1   6     2      1
3     02182018   8   1   2     2      2
4     01182018   1   2   1     2      1
5     02182018   3   2   5     3      1
6     03182018   3   2   2     3      2


感谢您的帮助和建议

最佳答案

您可以使用cumcount

In [11]: df.groupby(["H", "Trainer"]).cumcount() + 1
Out[11]:
0    1
1    2
2    1
3    2
4    1
5    1
6    2
dtype: int64

关于python - Python/Pandas按分组列比较行并更新值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50934980/

10-11 17:58