【发布时间】:2020-10-10 16:04:49
【问题描述】:
我是 Python 编程的新手,我有一个小问题要解决。我正在尝试将几个箱子中的一些物品分配给一组订单。
import pandas as pd
a={'Bin 1': 12,
'Bin 2': 1}
b={'Order 1': 5,
'Order 2': 8}
bins = pd.DataFrame(a.items(), columns=['Bin', 'Items'])
orders =pd.DataFrame(b.items(), columns=['Order', 'Items'])
分布应如下所示:
我想生成一个新的数据集或指令列表来描述哪些元素从哪个 bin 被分配到哪个顺序:
- 从 Bin 1 开始,5 个元素已分配给 Order 1。Bin 1 还剩下 7 个项目。 #如果订单已满,则转到下一个订单
- 从箱 1 开始,7 个元素已分配给订单 2。箱 1 还剩下 0 件商品。 #移动到下一个垃圾箱
- 从 Bin 2 开始,1 个元素已分配给 Order 2。Bin 2 还剩下 0 件物品。
实际上,我希望最终得到这样的数据框: result
如果在填写最后一个订单后有剩余物品或最后一个订单未完全履行,这不是问题。重要的是指令列表应该适用于任意 n 个箱子或订单。
提前感谢您提供有关如何解决此问题的任何建议或想法。
【问题讨论】:
-
你能举一个你想要的输出的例子吗?
-
您好,显示输出的一种方法是采用具有 3 列 Order、Ammount 和 Filled from 的新数据框的形式。类似于: