首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过将列的不同值放入不同的列来转换数据帧?

如何通过将列的不同值放入不同的列来转换数据帧?
EN

Stack Overflow用户
提问于 2021-07-14 19:44:52
回答 1查看 27关注 0票数 0

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

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

我所做的是,我使用pd.groupby对SKU#进行求和,然后我得到了一个数据帧,看起来像这样: SKU原因A运输A原材料B运输B原材料C运输C原材料

我想知道怎样才能转换成这样的格式:A运输原材料B运输原材料C运输原材料

我的计划是将订单金额与SKU编号之和合并为1,以获得每个原因的百分比。如果能有更好的方法,我也会非常高兴!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-14 20:34:47

在数据透视表中创建未装运,然后求和的比率:

代码语言:javascript
复制
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'))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68377447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档