我有 Dataframe
Group Required stock
0 A 10 5
1 A 10 8
2 A 10 7
3 B 13 6
4 B 13 5
5 C 8 4
6 C 8 5
7 C 8 8
8 D 16 NaN
这里A、B、C、D所需的是[10,13,8,16]
,我各自的库存在上表中提到。我需要标记所有需要移动的行以及需要移动的数量
输出应为
Group Required stock to_move flag
0 A 10 5.0 5.0 yes
1 A 10 8.0 5.0 yes
2 A 10 7.0 0.0 no
3 B 13 6.0 6.0 yes
4 B 13 5.0 5.0 yes
5 C 8 4.0 4.0 yes
6 C 8 5.0 4.0 yes
7 C 8 8.0 0.0 no
8 D 16 NaN NaN no
3条答案
按热度按时间b0zn9rqh1#
您可以使用
groupby.cumsum
和clip
来计算要移动而不会溢出的累积值,然后使用groupby.diff
来反算单个值:输出:
mnemlml82#
用途:
wribegjk3#
您可以在Pandas中指定新的列: