【发布时间】:2019-12-05 06:26:38
【问题描述】:
我想用这个形状重塑一个数据框
Country subject 2017 2018 Frq 2017 Score 2018 Score
Argentina subject 1 12 22 100 50.77214238 51.54316539
Argentina subject 2 68 13 150 66.92805676 67.60645268
到这个形状
subject 1 subject 2 subject 3…
Country 2017 2018 Frq 2017 Score 2018 Score 2017 2018 Frq 2017 Score 2018 Score
Argentina 12 22 100 50.77214238 51.54316539 12 22 100 50.77214238 51.54316539
Australia 68 13 150 66.92805676 67.60645268 68 13 150 66.92805676 67.60645268
所以每个国家都有一排。并将列主题的值转换为列
我尝试了以下方法,但没有产生所需的结果
pd.pivot_table(GCI, index='Country', columns=['subject'],
values=['2017', '2018'], aggfunc='sum', fill_value=0)
也试过了:
pivoted_GCI = GCI[['Country']] #pd.DataFrame()
for key,group_df in GCI.groupby('subject'):
print("the group for '{}' has {} rows".format(key,len(group_df)))
group_df.name = key
group_df = group_df.drop(['subject'], axis=1)
display(group_df)
pivoted_GCI = pd.merge(pivoted_GCI, group_df, on='Country', how='left')
谢谢
【问题讨论】:
标签: pandas pivot-table pandas-groupby