运行 通过遍历索引列中的重复项进行 for 循环:python
run a for loop by traversing on duplicates in the index column: python
我是python的业余用户,想开发一个逻辑,从与零件相关的可用数量中找出可以满足的订单。
partno ordernumber orderqty Qty available
A abc 15 20
A acb 5 20
A adc 8 20
B a41 9 60
B a14 16 60
B a56 30 60
每个部件号都有唯一的订单号和订单数量。可用数量是对应零件号的总可用数量。
我想从相关零件的可用数量中找出可以满足的订单。输出看起来像下面的
partno ordernumber orderqty Qty available Y/N
A abc 15 20 Y
A acb 5 20 Y
A adc 8 20 N
B a41 9 60 Y
B a14 16 60 Y
B a56 30 60 Y
我正在努力编写一个 for 循环,它将遍历重复的零件号,并在每次迭代订单号时从可用数量中减少订单数量。
伪代码:
for partno in df
for ordernumber in df.interrow
if (qtyavailble>orderqty)
{df.newcoln = "Y" & qtyavailable = qtyavailable-orderqty}
else {df.newcoln="N"}
我知道这是一个可怕的代码,但你明白了。
谢谢!
你可以groupby
partno 然后做cumsum
for orderqty, 看看它是否大于Qtyavailable
df.groupby('partno').orderqty.cumsum().le(df.Qtyavailable).map({True:'Y',False:'N'})
Out[459]:
0 Y
1 Y
2 N
3 Y
4 Y
5 Y
dtype: object
我是python的业余用户,想开发一个逻辑,从与零件相关的可用数量中找出可以满足的订单。
partno ordernumber orderqty Qty available
A abc 15 20
A acb 5 20
A adc 8 20
B a41 9 60
B a14 16 60
B a56 30 60
每个部件号都有唯一的订单号和订单数量。可用数量是对应零件号的总可用数量。
我想从相关零件的可用数量中找出可以满足的订单。输出看起来像下面的
partno ordernumber orderqty Qty available Y/N
A abc 15 20 Y
A acb 5 20 Y
A adc 8 20 N
B a41 9 60 Y
B a14 16 60 Y
B a56 30 60 Y
我正在努力编写一个 for 循环,它将遍历重复的零件号,并在每次迭代订单号时从可用数量中减少订单数量。
伪代码:
for partno in df
for ordernumber in df.interrow
if (qtyavailble>orderqty)
{df.newcoln = "Y" & qtyavailable = qtyavailable-orderqty}
else {df.newcoln="N"}
我知道这是一个可怕的代码,但你明白了。 谢谢!
你可以groupby
partno 然后做cumsum
for orderqty, 看看它是否大于Qtyavailable
df.groupby('partno').orderqty.cumsum().le(df.Qtyavailable).map({True:'Y',False:'N'})
Out[459]:
0 Y
1 Y
2 N
3 Y
4 Y
5 Y
dtype: object