【问题标题】:Sorting Columns By Ascending Order按升序对列进行排序
【发布时间】:2019-07-23 07:01:33
【问题描述】:

鉴于此示例数据框,

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 中。

有什么建议吗?谢谢!

【问题讨论】:

    标签: python python-3.x pandas


    【解决方案1】:

    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
    

    【讨论】:

    • 完美运行,谢谢。我还利用它对我的索引进行了排序! :)
    猜你喜欢
    • 2016-10-18
    • 2013-10-16
    • 2020-10-05
    • 1970-01-01
    • 1970-01-01
    • 2013-05-30
    • 2020-11-09
    • 1970-01-01
    相关资源
    最近更新 更多