【问题标题】:pandas - how to convert a column to a datetime objectpandas - 如何将列转换为日期时间对象
【发布时间】:2021-02-26 07:59:26
【问题描述】:

您好,我有上面显示的 pandas df。 date 列必须进行转换。

所以我写了这段代码:

df2['date']= pd.to_datetime(df2['date'], format = '%Y-%m-%d %H:%M:%S.%f')

我有这个错误:

time data test_2021-03-01 02:30:02.237441 doesn't match format specified

我不知道如何继续 谢谢

【问题讨论】:

    标签: python pandas time


    【解决方案1】:

    尝试通过errors

    df2['date']= pd.to_datetime(df2['date'], format = '%Y-%m-%d %H:%M:%S.%f', errors = 'coerce')
    

    更新split

    s = df2['date'].astype(str).str.split('_').str[-1]; 
    df2['date'] = pd.to_datetime(s, format = '%Y-%m-%d %H:%M:%S.%f', errors = 'coerce') 
    

    【讨论】:

    • 谢谢所以从现在开始,我可以拆分我的专栏了吗?
    • @phildrav 是的,你可以 df2['date2'] = df2['date'].str.split('_').str[-1]; df2['date']= pd.to_datetime(df2['date2'], format = '%Y-%m-%d %H:%M:%S.%f', errors = 'coerce')跨度>
    • df2['date2'] = df2['date'].str.split('_').str[-1] 返回一个错误:AttributeError: Can only use .str accessor with字符串值!
    • @phildrav 添加 astype(str)
    • 这样吗? df2['date2'] = df2['date'].str.split('_').str[-1].astype(str)
    【解决方案2】:

    该错误表明您的数据包含与其他一些内容混合的时间戳。你可以先解压试试:

    df = pd.DataFrame({'date':['time data test_2021-03-01 02:30:02.237441']})
    
    ext_time = df['date'].str.extract('(\d{4}-\d+-\d+ \d+:\d+:\d+\.\d+)')[0]
    df['date'] = pd.to_datetime(ext_time, errors='coerce',  format = '%Y-%m-%d %H:%M:%S.%f'))
    

    输出:

                            date
    0 2021-03-01 02:30:02.237441
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-08-18
      • 2019-04-19
      • 2018-12-02
      • 1970-01-01
      • 2016-10-05
      • 1970-01-01
      • 2019-12-27
      相关资源
      最近更新 更多