如果将元列分组到列表中,则可以执行以下操作:
Metas = ['Meta1', 'Meta2']
new_df = df.set_index(['name'] + Metas).unstack('name')
print new_df
data
name n1 n2
Meta1 Meta2
a g y1 y2
b h y3 y4
这可以帮助您实现大部分目标。额外的剪裁可以帮助您完成其余所有工作。
print new_df.data.rename_axis([None], axis=1).reset_index()
Meta1 Meta2 n1 n2
0 a g y1 y2
1 b h y3 y4