如何使用python3读取.xlsx文件的某些特定列,按时间对其进行排序,然后将其放入新行?

时间:2018-10-23 19:07:09

标签: python-3.x pandas xlsx

我有一个像这样的.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
 ...   ...  ...

1 个答案:

答案 0 :(得分:2)

您可以使用融化来做到这一点

第一个排序值

df.sort_values('NAME', inplace=True)

df.melt(id_vars='NAME', value_vars=df.columns[1:])

您可以使用参数value_namevar_name来更改列名