我有一个关于我的代码的问题。我的数据如下所示:

我想按SKU编号和未按此格式发货的百分比(与订购的百分比)进行总结:

我所做的是,我使用pd.groupby对SKU#进行求和,然后我得到了一个数据帧,看起来像这样: SKU原因A运输A原材料B运输B原材料C运输C原材料
我想知道怎样才能转换成这样的格式:A运输原材料B运输原材料C运输原材料
我的计划是将订单金额与SKU编号之和合并为1,以获得每个原因的百分比。如果能有更好的方法,我也会非常高兴!
发布于 2021-07-14 20:34:47
在数据透视表中创建未装运,然后求和的比率:
data = {
'PO Nbr' : [1,2,3,4,5],
'SKU #' : ['A','B','A','C','A'],
'Ordered' : [100,100,500,100,200],
'Shipped' : [100,80,450,100,30],
'Reason for Not Shipped' : ['', 'raw material','transportation','','transportation']
}
df = pd.DataFrame(data)
df['Pct Not Shipped'] = (df['Ordered'] - df['Shipped']) / df.groupby('SKU #').Ordered.transform('sum')
print(df.pivot_table(index='SKU #',columns='Reason for Not Shipped',values='Pct Not Shipped',aggfunc='sum'))https://stackoverflow.com/questions/68377447
复制相似问题