[英]How to transpose dataframe columns into rows in pandas
I have below dataframe and want to transpose the columns aftr 3rd column into rows. 我在下面的数据帧中,想将第3列后的列转置为行。 Please help on this. 请帮忙。
df:
country year perc data1 data2 data3
IN 2015 hjk 75 81 96
US 2015 KTM 100 289 632
Results:
country year perc TransposedColumn Value
IN 2015 hjk data1 75
IN 2015 hjk data2 81
IN 2015 hjk data3 96
US 2015 KTM data1 100
US 2015 KTM data2 289
US 2015 KTM data3 632
use melt
: 使用melt
:
df.melt(id_vars=['country','year','perc'])
older versions of Pandas: 较旧版本的Pandas:
pd.melt(df, id_vars=['country','year','perc'])
Output: 输出:
country year perc variable value
0 IN 2015 hjk data1 75
1 US 2015 KTM data1 100
2 IN 2015 hjk data2 81
3 US 2015 KTM data2 289
4 IN 2015 hjk data3 96
5 US 2015 KTM data3 632
Option #2 选项#2
df.set_index(['country','year','perc']).stack().reset_index()
Output: 输出:
country year perc level_3 0
0 IN 2015 hjk data1 75
1 IN 2015 hjk data2 81
2 IN 2015 hjk data3 96
3 US 2015 KTM data1 100
4 US 2015 KTM data2 289
5 US 2015 KTM data3 632
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.