从一个熊猫列中减去值,然后在两个新列中进行累加,并进行累加

时间:2019-11-22 21:19:20

标签: python pandas

我无法弄清楚这一点,因为知道熊猫具有cumsum(),但是我无法找出任何有关累计差异的信息(如果在这里甚至需要这样做的话)。

我有一个这样的DataFrame:

            Amt | Storage 1 | Storage 2 | Sell | Season |
Date  
01/01/2000  10    5           5           0      Summer
01/02/2000  10    10          10          0      Summer
01/03/2000  10    15          15          0      Summer
01/04/2000  10    20          20          0      Summer
01/05/2000  10    22.5        27.5        0      Summer
01/06/2000  10    22.5        30          7.5    Summer
01/07/2000  10    22.5        30          17.5   Summer

其中两个[Storage]的存储1上限为22.5,存储2的上限为30,并且[Sell]由多余的[Amt]填充。

在冬天,我想开始清空存储空间,存储空间的大小由其他函数中的变量确定。我可以卖出的总金额是硬编码的-我们可以将其任意设置为20-但实际上我想从上述变量中​​减去[Amt],例如: dailysell = 20 - ['Amt'],这将给我10余元。我想拆分该金额,然后从存储列中减去该金额,然后汇总['Sell']列中的已售出总金额,以使结果数据框看起来像:

            Amt | Storage 1 | Storage 2 | Sell | Season |
Date  
01/01/2000  10    5           5           0      Summer
01/02/2000  10    10          10          0      Summer
01/03/2000  10    15          15          0      Summer
01/04/2000  10    20          20          0      Summer
01/05/2000  10    22.5        27.5        0      Summer
01/06/2000  10    22.5        30          7.5    Summer
01/07/2000  10    22.5        30          17.5   Summer
01/07/2000  10    17.5        25          37.5   Winter
01/08/2000  10    12.5        20          57.5   Winter
..........
01/10/2000  10     2.5        5           97.5   Winter
01/11/2000  10       0        0          115.0   Winter

如您所见,理想结果采用理想化的10/2分割,并尝试每次都减去偶数,然后将其裁剪为0。我尝试使用.diff.cumsum()几种方法,但无济于事。

我为这么长的问题道歉-这是我想到的最短的方法。请让我知道是否有任何不必要的东西,或者是否需要澄清。

谢谢!

0 个答案:

没有答案