我正在创建一个脚本,根据供应商成本变化更新零售价格
我已经成功地创建了一个脚本,该脚本引入外部供应商数据,匹配内部数据,输出更改,并将这些更改传递到API以更新我们的ERP和工作表,以便我们能够可视化更改。我的最后一个任务是解决零售价格的变化,但我不知道用熊猫解决这个问题的最佳方法
df1(价格变化):
Cat Nr Net Cost Status
2801 0825646183913 8.50 ACTIVE
2802 0603497902941 7.96 ACTIVE
2803 0603497897452 9.35 ACTIVE
2804 4050538324761 14.45 ACTIVE
2805 4050538307429 10.20 ACTIVE
df2(价格网格):
Cost (low) Cost (upp) Retail
0 2.00 3.30 5.99
1 3.31 5.00 8.99
2 5.01 6.15 10.99
3 6.16 7.15 12.99
4 7.16 8.15 14.99
5 8.16 9.25 16.99
6 9.26 10.75 18.99
7 10.76 11.50 20.99
8 11.51 12.75 22.99
9 12.76 13.75 24.99
10 13.76 14.75 26.99
所以我想通过比较df1[“净成本”]和df2[“成本(低)”来创建df1[“零售”]&;df2['成本(upp)']和返回df2['零售']
例如,第2801行'Net Cost'==8.50,因此它将返回16.99的'Retail'
df1看起来像:
Cat Nr Net Cost Status Retail
2801 0825646183913 8.50 ACTIVE 16.99
2802 0603497902941 7.96 ACTIVE 14.99
2803 0603497897452 9.35 ACTIVE 18.99
2804 4050538324761 14.45 ACTIVE 26.99
2805 4050538307429 10.20 ACTIVE 18.99
您可以选择的另一种方法是创建笛卡尔积并过滤您感兴趣的行。您不需要对数据进行两次排序(这可能代价高昂),但可能需要更多内存
当然,您可以相应地过滤数据帧
顺便说一句:有人对如何正确使用带空格的列名有什么建议吗?从剪贴板上读会把很多东西混在一起;)
你可以用^{} 来做这个
但是,此方法的一个要求是,必须对左侧帧上的键进行排序。因此需要在下面的示例中使用^{} 、^{} ,然后使用^{} 、^{} :
相关问题 更多 >
编程相关推荐