python fill_Python Pandas:fillna / bfill使用函数

我从库存管理系统中检索了几个物品的库存变动:

index itemid date sold received balance stock_level

0 123456 30.03.18 -1 0 -1 3

1 123456 04.04.18 -1 0 -1 2

2 123456 09.04.18 0 1 1 3

3 123457 01.04.18 0 1 1 3

4 123457 03.04.18 -1 0 -1 2

5 123457 11.04.18 0 1 1 3

为了进行正确的分析,我创建了一个连续的日期序列

index itemid date sold received balance stock_level

0 123456 28.03.18 0 0 0 nan

1 123456 29.03.18 0 0 0 nan

2 123456 30.03.18 -1 0 -1 3

3 123456 31.03.18 0 0 0 nan

4 123456 01.04.18 0 0 0 nan

5 123456 02.04.18 0 0 0 nan

6 123456 03.04.18 0 0 0 nan

7 123456 04.04.18 -1 0 -1 2

8 123456 05.04.18 0 0 0 nan

9 123456 06.04.18 0 0 0 nan

10 123456 07.04.18 0 0 0 nan

11 123456 08.04.18 0 0 0 nan

12 123456 09.04.18 0 1 1 3

13 123456 10.04.18 0 0 0 nan

14 123456 11.04.18 0 0 0 nan

15 123457 28.03.18 0 0 0 nan

16 123457 29.03.18 0 0 0 nan

17 123457 30.03.18 0 0 0 nan

18 123457 31.03.18 0 0 0 nan

19 123457 01.04.18 0 1 1 3

20 123457 02.04.18 0 0 0 nan

21 123457 03.04.18 -1 0 -1 2

22 123457 04.04.18 0 0 0 nan

23 123457 05.04.18 0 0 0 nan

[...]

28 123457 11.04.18 0 1 1 3

现在,我需要为每个项目 groupby(itemid) 填充库存列中的nan值 . 我可以使用ffill为每个组填充第3行的值,但需要根据(第一个非南股票 Value ) - (该指数的余额值)的函数为每个组填充 .

例如 . 索引0的bfill应该是(stock_level at index 2) - (索引2处的余额) .

也就是说,我正在寻找的结果是

index itemid date sold received balance stock_level

0 123456 28.03.18 0 0 0 4

1 123456 29.03.18 0 0 0 4

2 123456 30.03.18 -1 0 -1 3

3 123456 31.03.18 0 0 0 3

4 123456 01.04.18 0 0 0 3

5 123456 02.04.18 0 0 0 3

6 123456 03.04.18 0 0 0 3

7 123456 04.04.18 -1 0 -1 2

8 123456 05.04.18 0 0 0 2

9 123456 06.04.18 0 0 0 2

10 123456 07.04.18 0 0 0 2

11 123456 08.04.18 0 0 0 2

12 123456 09.04.18 0 1 1 3

13 123456 10.04.18 0 0 0 3

14 123456 11.04.18 0 0 0 3

15 123457 28.03.18 0 0 0 2

16 123457 29.03.18 0 0 0 2

17 123457 30.03.18 0 0 0 2

18 123457 31.03.18 0 0 0 2

19 123457 01.04.18 0 1 1 3

20 123457 02.04.18 0 0 0 3

21 123457 03.04.18 -1 0 -1 2

22 123457 04.04.18 0 0 0 2

23 123457 05.04.18 0 0 0 2

[...]

28 123457 11.04.18 0 1 1 3

如何根据第一个非纳米值的索引处的函数回填每个项目组?

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值