擅长:python、mysql、java
<p>非常类似于<a href="https://stackoverflow.com/a/61348417/2336654">Ben.T's Answer</a>。如果您喜欢这种方法,请选择他们的答案。这就是我安排过程的方式</p>
<pre><code>def f(d):
i = d.AVAILABLE_INVENTORY
c = d.DEMAND.cumsum()
return pd.concat({'AI': i - c.shift(fill_value=0), 'AI_AFTER': i - c}, axis=1)
df.join(df.groupby('PART').apply(f))
PART AVAILABLE_INVENTORY DEMAND AI AI_AFTER
1 A 12 6 12 6
2 A 12 2 6 4
3 A 12 1 4 3
4 B 24 1 24 23
5 B 24 1 23 22
6 B 24 4 22 18
7 B 24 3 18 15
</code></pre>