python访问最后一个值_python – pandas – 从组中取N个最后一个值

我有一个类似的数据框(日期格式为:dd / mm / yyyy):

Param1 Param2 date value

1 a b 30/10/2007 5

2 a b 31/10/2007 8

3 a b 01/11/2007 9

4 a b 01/12/2007 3

5 a b 02/12/2007 2

6 a b 01/03/2008 11

7 b c 05/10/2008 7

8 b c 06/10/2008 13

9 b c 07/10/2008 19

10 b c 08/11/2008 22

11 b c 09/11/2008 35

12 b c 08/12/2008 5

我需要做的是按Param1和Param2进行分组,并为最后3个值创建N(在我的情况下为3)其他列,这些列距离当前行至少30天.

所以输出看起来应该是这样的:

Param1 Param2 date value prev_1 prev_2 prev_3

1 a b 30/10/2007 5 None None None

2 a b 31/10/2007 8 None None None

3 a b 01/11/2007 9 None None None

4 a b 01/12/2007 3 9 8 5

5 a b 02/12/2007 2 9 8 5

6 a b 01/03/2008 11 2 3 9

7 b c 05/10/2008 7 None None None

8 b c 06/10/2008 13 None None None

9 b c 07/10/2008 19 None None None

10 b c 08/11/2008 22 19 13 7

11 b c 09/11/2008 35 19 13 7

12 b c 08/12/2008 5 22 19 13

我已经尝试过使用set_index,堆栈和相关函数,但我无法弄明白(没有丑陋).

任何帮助将不胜感激!

编辑:虽然它类似于这个问题:question

它并不完全相同,因为您无法进行简单的转换,因为您需要检查至少30天的差距.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值