回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>需要创建一个新的df,其中包含一个基于两个公式的列。我可以用group和merge创建多个df。但有没有一种有效的方法来实现这一目标</p>
<p>df_1如下所示:</p>
<pre><code> df_1 = pd.DataFrame([['A', '1/1/2021','SKU_1','Customer Backhaul','34,848','$-51,100'],
['A', '1/1/2021','SKU_1','FOB','75,357','$12,407,112'],
['A', '1/1/2021','SKU_1','Price','75,357','$12,407,112'],
['A', '1/1/2021','SKU_1','Vendor Freight - Delivered','40,511','$65,470'],
['B', '1/1/2021','SKU_1','Customer Backhaul','197,904','$-157,487'],
['B', '1/1/2021','SKU_1','FOB','931,866','$50,059,515'],
['B', '1/1/2021','SKU_1','Price','931,866','$62,333,500'],
['B', '1/1/2021','SKU_1','Vendor Freight - Delivered','740,355','$1,220,927']],
columns=['Group', 'Month','ID','Cost Type','Volume','Order Cost'])
</code></pre>
<p>“值”列的公式</p>
<ul>
<li>运费=绝对值(客户回程)+供应商交付</li>
<li>离岸价</li>
<li>价格=价格-回程</li>
<li>体积=离岸价的体积</li>
</ul>
<p>输出[df_2]</p>
<pre><code> Group Month ID Cost Type Volume Cost
0 A 1/1/2021 SKU_1 Freight 75,357 $116,570
1 A 1/1/2021 SKU_1 FOB 75,357 $12,407,112
2 A 1/1/2021 SKU_1 Price 75,357 $12,434,063
3 B 1/1/2021 SKU_1 Freight 931,866 $1,378,414
4 B 1/1/2021 SKU_1 FOB 931,866 $50,059,515
5 B 1/1/2021 SKU_1 Price 931,866 $62,490,988
</code></pre>