按升序对列进行排序

时间:2019-03-01 09:13:42

标签: python python-3.x pandas

给出此示例数据框,

Date    01012019   01022019    02012019    02022019    03012019    03022019
Period
1         45          21           43         23           32          23
2         42          12           43         11           14          65
3         11          43           24         23           21          12

我想根据月份对日期进行排序-(日期以ddmmyyyy表示)。但是,当我键入(日期)时,日期是一个字符串。我尝试使用pd.to_datetime,但是它失败了,并且错误月份必须在1..12中。

有什么建议吗?谢谢!

1 个答案:

答案 0 :(得分:2)

to_datetimesort_index中指定日期时间的格式:

df.columns = pd.to_datetime(df.columns, format='%d%m%Y')
df = df.sort_index(axis=1)
print (df)
      2019-01-01  2019-01-02  2019-01-03  2019-02-01  2019-02-02  2019-02-03
Date                                                                        
1             45          43          32          21          23          23
2             42          43          14          12          11          65
3             11          24          21          43          23          12