【问题标题】:Extract year from YYYYMMDD column in Pandas DataFrame从 Pandas DataFrame 中的 YYYYMMDD 列中提取年份
【发布时间】:2016-08-10 12:23:11
【问题描述】:

我有一个 pandas 数据框,我想在其中创建一个附加列,该列仅包含我从 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

我也尝试过不使用to_datetime,因为我的日期不完全采用 yyyy-mm-dd 格式,但也无法做到这一点。 希望您能帮我解决这个“新手”问题,非常感谢!

【问题讨论】:

  • 您需要将format 传递给to_datetimedf['date'] = pd.to_datetime(df['date'], format='%Y%m%d)
  • 太好了,非常感谢! (在您的格式末尾,缺少一个 ')

标签: python date pandas python-datetime


【解决方案1】:

这是您需要的,用于指定您提供日期的格式。

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

【讨论】:

    猜你喜欢
    • 2022-08-19
    • 2019-04-25
    • 1970-01-01
    • 2019-06-04
    • 1970-01-01
    • 2014-09-28
    • 1970-01-01
    相关资源
    最近更新 更多