代码之家  ›  专栏  ›  技术社区  ›  Don

从Pandas DataFrame中的YYYYMMDD列提取年份

  •  1
  • Don  · 技术社区  · 8 年前

    我有一个pandas DataFrame,我想在其中创建一个额外的列,其中只包含我从YYYYMMDD格式的列中提取的年份。 搜索论坛时,我发现 to_datetime 命令,但对我来说,它不起作用。

    我尝试了以下方法:

    df = pd.DataFrame({'name' : ['A','B'],
                       'date' :[20130102,20140511]})
    
    df['date'] = pd.to_datetime(df['date'])
    df['year'] = df['date'].dt.year
    

                               date name   year
    0 1970-01-01 00:00:00.020130102    A   1970
    1 1970-01-01 00:00:00.020140511    B   1970
    

    但我想得到:

           date name  year
    0  20130102    A  2013
    1  20140511    B  2014
    

    我也试过没有 结束日期时间(_D) 因为我的日期不完全是yyyy-mm-dd格式,但也不能这样。 我希望你能帮我解决这个“新手”问题,谢谢!

    1 回复  |  直到 8 年前
        1
  •  1
  •   harshil9968    8 年前

    这就是您所需要的,以指定您提供日期的格式。

     df['date'] = pd.to_datetime(df['date'],format='%Y%m%d')