【问题标题】:turning objects into datetime in data frame column [duplicate]将对象转换为数据框列中的日期时间[重复]
【发布时间】:2020-07-06 00:23:37
【问题描述】:

我有一个数据框,其中一列称为“升级日期”,其中包含对象,它看起来像:

 |Step-up date
0|Mar-24
1|Jul-22
2|Feb-21
etc...

Mar-24 代表 2024 年 3 月,所以我想知道是否有办法将该列转换为日期,所以 Mar-24 将是 2024-03-01 (yyyy-mm-dd) 并自动拥有它成为每个值的每月 1 号以使其更容易

【问题讨论】:

    标签: python pandas dataframe datetime


    【解决方案1】:

    先在年份前加20,再用pd.to_datetime:

    df['Step-up date'] = df['Step-up date'].apply(lambda x: 
                                                   pd.to_datetime(x.replace('-', '-20')))
    

    【讨论】:

      【解决方案2】:

      由于没有指定日期,pandas 总是添加 day=1,为了正确解析,使用 %b-%y 格式化 to_datetime 中月份名称的前 3 个字母和年份的后 2 位数字:

      df['Step-up date'] = pd.to_datetime(df['Step-up date'], format='%b-%y')
      print (df)
        Step-up date
      0   2024-03-01
      1   2022-07-01
      2   2021-02-01
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-01-24
        • 2019-12-29
        • 2019-11-17
        • 2020-03-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-03
        相关资源
        最近更新 更多