为了账号安全,请及时绑定邮箱和手机立即绑定

如何用融化重塑我的熊猫数据框?

如何用融化重塑我的熊猫数据框?

心有法竹 2022-06-14 10:13:07
我正在尝试改造我的数据框,如下所示:我想重塑我的数据框看起来像这样:
查看完整描述

2 回答

?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

使用以下代码:


s = df.set_index(['Year', 'Measure']).stack()

s.index.names = ['Year', 'Measure', 'Country']

df2 = s.unstack(level=1).reset_index()

df2.columns.name = None

df2 = df2[['Year', 'Country', 'Population', 'GDP']]


查看完整回答
反对 回复 2022-06-14
?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

你可以结合melt和pivot_table。Melt 会将国家/地区列放入行中,然后数据透视表将为您提供所需的结果。


df = pd.DataFrame.from_dict({'Year': [1870, 1870, 1871, 1871, 1872, 1872], 

                             'Measure': ['Population', 'GDP', 'Population', 'GDP', 'Population', 'GDP'], 

                             'Australia': [187, 870, 181, 11, 172, 72], 

                             'Belgium': [ 181, 11, 172, 72, 187, 870,], 

                             'Denmark': [187, 870,187, 870,187, 870,]})

df = df.melt(id_vars=["Year", "Measure"], var_name="Country", value_name="Value")

df = df.pivot_table('Value', ['Year','Country'], 'Measure').reset_index().rename_axis(None, axis=1)

df

样本结果:

//img1.sycdn.imooc.com//62a7ef140001436903200283.jpg

查看完整回答
反对 回复 2022-06-14
  • 2 回答
  • 0 关注
  • 125 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号