我对转置(融化或堆叠?)和加入数据集有疑问。
我有3个数据帧(上图),我想转换并加入它们以产生我右边的结果。
我一直在阅读有关堆叠,融化,转置和合并的内容,我感到有些困惑。
获得理想结果的建议?
谢谢!
答案 0 :(得分:2)
从:
开始df1 = df1.set_index('Country')
2012 2013 2014
Country
AFG 1 4 7
AGO 2 5 8
ALF 3 6 9
df2 = df1.mul(2)
df3 = df1.mul(3)
您可以.stack()
和pd.concat()
:
df = pd.concat([df1.stack(), df2.stack(), df3.stack()], axis=1)
df.columns = ['A', 'B', 'C']
df.reset_index().rename(columns={'level_1': 'Year'})
Country Year A B C
0 AFG 2012 1 2 3
1 AFG 2013 4 8 12
2 AFG 2014 7 14 21
3 AGO 2012 2 4 6
4 AGO 2013 5 10 15
5 AGO 2014 8 16 24
6 ALF 2012 3 6 9
7 ALF 2013 6 12 18
8 ALF 2014 9 18 27