I have the below sample DataFrame
Timestamp Item Char Value
4 1/7/2020 1:22:22 AM B C.B 3.2
0 1/7/2020 1:23:23 AM A C.A 1.0
2 1/7/2020 1:23:23 AM A C.B 1.3
1 1/7/2020 1:23:24 AM A C.A 2.0
5 1/7/2020 1:23:29 AM B C.B 3.0
3 1/7/2020 1:25:23 AM B C.B 2.0
我想新增一列,用于指示某个Item在同一Char中的出现顺序,基于Timestamp计算。具体地,我想将最新的值命名为1,次新的值为2,以此类推。
结果应该如下所示:
Timestamp Item Char Value Order
0 1/7/2020 1:23:23 AM A C.A 1.0 2
1 1/7/2020 1:23:24 AM A C.A 2.0 1
2 1/7/2020 1:23:23 AM A C.B 1.3 1
3 1/7/2020 1:22:22 AM B C.B 3.2 3
4 1/7/2020 1:23:29 AM B C.B 3.0 2
5 1/7/2020 1:25:23 AM B C.B 2.0 1
你可以看到在Char C.B中,B项出现了多次。我想根据时间戳为最近的值分配1。
我的想法是按项目和Char分组DataFrame,然后按时间戳降序排序每个组的行,最后将1分配给第一行,2分配给第二行以此类推。但我不知道具体如何操作。
你能帮我解决这个问题吗?
非常感谢!