【发布时间】:2020-10-07 22:58:01
【问题描述】:
我有一个具有以下结构的 Pandas 数据框
id date num
243 2014-12-01 3
234 2014-12-01 2
243 2015-12-01 2
234 2016-12-01 4
243 2016-12-01 6
234 2017-12-01 5
243 2018-12-01 7
234 2018-12-01 10
243 2019-12-01 1
234 2019-12-01 12
243 2020-12-01 15
234 2020-12-01 5
如果字段 num 小于往年的任何值(对于每个 id >)。例如,id 243 和 date 2019-12-01 的值为 1。在这种情况下,新字段 flag 将假定为 True,因为没有值id 243 的前几年较小。预期的数据框应如下所示:
id date num flag
243 2014-12-01 3 -
234 2014-12-01 2 -
243 2015-12-01 2 True
234 2016-12-01 4 False
243 2016-12-01 6 False
234 2017-12-01 5 False
243 2018-12-01 7 False
234 2018-12-01 10 False
243 2019-12-01 1 True
234 2019-12-01 12 False
243 2020-12-01 15 False
234 2020-12-01 5 False
我一直在寻找一种解决方案,让我可以将每一行与前几年的行进行比较。有什么建议如何将每一行的值与几年前的值进行比较?
谢谢
【问题讨论】: