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

我正在尝试改造我的数据框,如下所示:

http://img1.mukewang.com/62a7eef70001202407530298.jpg

我想重塑我的数据框看起来像这样:

http://img4.mukewang.com/62a7eeff0001724503220375.jpg



心有法竹
浏览 126回答 2
2回答

呼啦一阵风

使用以下代码:s = df.set_index(['Year', 'Measure']).stack()s.index.names = ['Year', 'Measure', 'Country']df2 = s.unstack(level=1).reset_index()df2.columns.name = Nonedf2 = df2[['Year', 'Country', 'Population', 'GDP']]

繁星点点滴滴

你可以结合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样本结果:
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python