2024-06-16 15:07:48 发布
网友
我想将此处给出的数据转换为:
为此:
其中的数字是每家公司的销售额。 如何使用Python实现这一点
熊猫的groupby函数是您的朋友。您可以使用它按月份和公司分组,然后重新排列为按公司分组(显示为索引)列:
df.groupby(['Month', 'Company'])['Sales'].sum().unstack()
在groupby(['Month', 'Company'])['Sales'].sum()之后,您将公司作为索引,因此使用unstack()将它们更改为列
groupby(['Month', 'Company'])['Sales'].sum()
unstack()
您可以使用^{}
调用pivot将数据帧从行重塑为列,并且fillna(0)将空单元格替换为零,最后reset_index将去掉分层列
pivot
fillna(0)
reset_index
df.pivot(index='Month', columns='Company', values='Sales').fillna(0).reset_index()
输出:
Company Month Apple HP 0 1 8.0 0.0 1 2 8.0 0.0 2 3 14.0 0.0 3 4 3.0 0.0 4 5 4.0 10.0 5 6 3.0 9.0 6 7 14.0 9.0 7 8 0.0 10.0 8 9 0.0 3.0 9 10 0.0 4.0
PS:建议在提问时将数据添加为文本,我们无法从图像中复制内容
熊猫的groupby函数是您的朋友。您可以使用它按月份和公司分组,然后重新排列为按公司分组(显示为索引)列:
在
groupby(['Month', 'Company'])['Sales'].sum()
之后,您将公司作为索引,因此使用unstack()
将它们更改为列您可以使用^{}
调用
pivot
将数据帧从行重塑为列,并且fillna(0)
将空单元格替换为零,最后reset_index
将去掉分层列输出:
PS:建议在提问时将数据添加为文本,我们无法从图像中复制内容
相关问题 更多 >
编程相关推荐