简体   繁体   English

将列转换为行 DataFrame

[英]Convert Columns into rows DataFrame

I have the following DataFrame:我有以下数据帧:

Name姓名 A一种 B C C D D E
BTU英热单位 2 2 3 3 0 0 9 9 7 7
BTP BTP 1 1 2 2 7 7 9 9 0 0

And I want this:我想要这个:

Name姓名 letter Value价值
BTU英热单位 A一种 2 2
BTU英热单位 B 3 3
BTU英热单位 C C 0 0
BTU英热单位 D D 9 9
BTU英热单位 E 7 7
BTP BTP A一种 1 1
BTP BTP B 2 2
BTP BTP C C 7 7
BTP BTP D D 9 9
BTP BTP E 0 0

How can I do it?我该怎么做?

You can do this with melt :你可以用melt来做到这一点:

pd.melt(df, id_vars=['Name'], value_vars=['A', 'B', 'C', 'D', 'E'], var_name='letter', value_name='Value').sort_values(by='Name', ascending=False)

Result:结果:

Name姓名 letter Value价值
0 0 BTU英热单位 A一种 2 2
2 2 BTU英热单位 B 3 3
4 4 BTU英热单位 C C 0 0
6 6 BTU英热单位 D D 9 9
8 8 BTU英热单位 E 7 7
1 1 BTP BTP A一种 1 1
3 3 BTP BTP B 2 2
5 5 BTP BTP C C 7 7
7 7 BTP BTP D D 9 9
9 9 BTP BTP E 0 0

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM