【问题标题】:Pandas convert year column to date column熊猫将年份列转换为日期列
【发布时间】:2020-12-21 15:01:01
【问题描述】:

我有一个 pandas 数据框,其中有一列包含年份:

col1 col2 ... year ... coln
 -    -   ... 2020 ...  -
 -    -   ... 2021 ...  -
 -    -   ... 2022 ...  -

我想通过将年份映射到该年的第一个日期来将其转换为日期,例如:

col1 col2 ... year       ... coln
 -    -   ... 2020-01-01 ...  -
 -    -   ... 2021-01-01 ...  -
 -    -   ... 2022-01-01 ...  -

我试过了:

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

但它给了我这个错误:

ValueError: 时间数据 '2020' 与格式 '%Y%m%d' 不匹配(匹配)

我该如何解决这个问题?

【问题讨论】:

  • 我总是去strftime.org查看日期格式的快速参考。

标签: python pandas dataframe datetime


【解决方案1】:

使用%Y 表示YYYY 格式的比赛年份,但我认为这个参数应该省略:

df['year'] = pd.to_datetime(df['year'], format='%Y')

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

【讨论】:

    【解决方案2】:

    你可以试试这个:

    df['year'] = df['year'].astype('str') + "-01-01"
    print(df)
    

    【讨论】:

      猜你喜欢
      • 2018-03-21
      • 2018-12-08
      • 1970-01-01
      • 2017-08-24
      • 1970-01-01
      • 2019-02-17
      • 2015-06-17
      相关资源
      最近更新 更多