我有一个熊猫数据框,其结构如下所示:
| Contract |Purchase Date|Value|Expiration Date|Demand|Stock
| A | 2019-01-01 |1000 | 2019-01-04 |700 | 300
| B | 2019-01-02 |1000 | 2019-01-05 |1000 | 300
| C | 2019-01-03 |1000 | 2019-01-06 |1200 | 100
| D | 2019-01-04 |1000 | 2019-01-07 |1000 | 100
| E | 2019-01-05 |1000 | 2019-01-08 |1000 | 0
| F | 2019-01-06 |1000 | 2019-01-09 |800 | 200
| G | 2019-01-07 |1000 | 2019-01-10 |1000 | 200
“需求”栏代表每日需求量,“合同”栏代表为满足需求而购买的每日数量。这些合同有一个到期日。系统按以下方式工作:
当需求低于合同时,剩余的交易量将进入“库存”列(如示例的第一行)。
当需求高于合同并且存在正库存时,它用于满足需求(如第 3 行)。在这里,我们使用 FIFO 方法。也就是说,只要没有过期,第一个购买的合约就是第一个出去的(如第5行)。
所以,我需要的是自动从库存中删除到期的金额,同时当需求高于遵循先进先出方法的合同时库存自动减少。
我是 python 新手,找不到适合我的方法。我很感激你有任何想法。
为了清楚起见,我不是在寻找您为我编写代码,而是在寻找可以处理此操作的适当库。我知道我应该为 FIFO 部分使用双端队列对象(这里也有很多关于这方面的信息),但不知道如何处理到期日期。