gpt4 book ai didi

python - pandas - 带倒计时的批处理分配

转载 作者:行者123 更新时间:2023-12-01 08:11:05 26 4
gpt4 key购买 nike

我无法找到这个一般问题的答案。

让我们假设以下数据框:

df = pd.DataFrame({'qty':[7,7,7], 'elt':['a','b','c'], 'limit':[2,4,100]})

df
qty elt limit
0 7 a 2
1 7 b 4
2 7 c 100

其中“qty”表示要分配的总数量。每个元素“elt”代表一个批处理,并且具有可支持的数量限制。我想确定需要为受限制约束的每个元素分配多少数量。

生成的数据框应该是:

df
qty elt limit allocation
0 7 a 2 2
1 7 b 4 4
2 7 c 100 1

关于如何做到这一点有什么建议吗? :)

最佳答案

使用np.wherecumsum检查

df['allocation']=np.where(df.limit.cumsum()<=df.qty,df.limit,df.qty-df.limit.cumsum().shift())
df
Out[806]:
qty elt limit allocation
0 7 a 2 2.0
1 7 b 4 4.0
2 7 c 100 1.0

关于python - pandas - 带倒计时的批处理分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55249033/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com