【问题标题】:Convert year string into datetime object将年份字符串转换为日期时间对象
【发布时间】:2023-04-09 06:21:01
【问题描述】:

我的数据框中有一个日期列,其中包含这样的字符串...'201512' 我想将其转换为仅一年的日期时间对象以进行时间序列分析。

我试过了……

df['Date']= pd.to_datetime(df['Date']) 

和类似的东西

datetime.strptime(Date, "%Y")

【问题讨论】:

  • 到目前为止你尝试了什么?
  • 有什么理由不能将年份用作数值吗?
  • 什么是Date?如果我们甚至不知道您正在使用什么进行计算,我们真的无法提供太多帮助。我建议按照here 的描述将您的帖子编辑成 MCVE

标签: python pandas dataframe datetime


【解决方案1】:

我不确定datetimepandas 数据帧的接口如何(如果有特殊用法,也许有人会评论),但通常datetime 函数会这样工作:

import datetime

date_string = "201512"
date_object = datetime.datetime.strptime(date_string, "%Y%m")
print(date_object)

得到我们:

2015-12-01 00:00:00

现在创建datetime 对象的困难部分已经完成,我们只需

print(date_object.year)

这吐出了我们想要的

2015

有关解析运算符(我的代码的“%Y%m”位)的更多信息在in the documentation中进行了描述

【讨论】:

    【解决方案2】:

    我会看看模块arrow

    https://arrow.readthedocs.io/en/latest/

    import arrow
    date = arrow.now()
    #example of text formatting
    fdate = date.format('YYYY')
    
    #example of converting text into datetime
    date = arrow.get('201905', 'YYYYMM').datetime
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-13
      • 1970-01-01
      • 2022-07-04
      • 2012-10-18
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      相关资源
      最近更新 更多