【问题标题】:Change date format for an index in python from yyyy-dd-mm to yyyy-mm-dd将python中索引的日期格式从yyyy-dd-mm更改为yyyy-mm-dd
【发布时间】:2021-09-29 17:27:14
【问题描述】:

我有一个索引中包含日期的数据框和另一个包含这些日期值的列。

我的索引当前是日期时间类型,并显示为 YYYY-dd-mm,我希望它显示为 YYYY-mm-dd

在搜索完答案后,它会变成一个 str,我必须把它改回来。麻烦的是,当列是索引时,我还没有看到有人这样做。

即我试过df["Date"].dt.strftime('%Y%m%d') 但这不起作用,因为“日期”不是列而是索引

谢谢

【问题讨论】:

    标签: python pandas datetime jupyter-notebook datetime-format


    【解决方案1】:

    格式yyyy-dd-mm表示数据类型为字符串;你可以解析to datetimeset indexlike

    import pandas as pd
    # dummy example
    df = pd.DataFrame({'v': [1,2]}, index=['2020-13-02', '2020-14-02'])
    
    df = df.set_index(pd.to_datetime(df.index, format='%Y-%d-%m'))
    
    # now you have:
    # df
    #             v
    # 2020-02-13  1
    # 2020-02-14  2
    

    请注意,这将为您提供datetime index。如果你想要字符串,使用

    df = df.set_index(pd.to_datetime(df.index, format='%Y-%d-%m').strftime("%Y-%m-%d"))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-29
      • 1970-01-01
      • 2021-08-05
      相关资源
      最近更新 更多