我有一个像这样的.xlsx数据。
NAME a b c ...
2012 1246108359 190153864 NA ...
2013 1089521299 181339787 -122350575 ...
2015 2092545545 648831005 -69981000 ...
2014 802730996 435162019 -69644809 ...
2017 1681536957 690355938 -1210327000 ...
2016 1149898973 491972036 -226538000 ...
首先,我想提取每列并按时间对其进行排序。
然后将它们放到新行中。
我该怎么办?
应该是这样。
2012 a 1246108359
2013 a 1089521299
2014 a 802730996
2015 a 2092545545
2016 a 1149898973
2017 a 1681536957
2012 b 190153864
2013 b 181339787
2014 b 435162019
2015 b 648831005
2016 b 491972036
2017 b 690355938
... ... ...
答案 0 :(得分:2)
您可以使用融化来做到这一点
第一个排序值
df.sort_values('NAME', inplace=True)
df.melt(id_vars='NAME', value_vars=df.columns[1:])
您可以使用参数value_name
和var_name
来更改列名