我有一个熊猫数据框,其中的列包含年份:
col1 col2 ... year ... coln
- - ... 2020 ... -
- - ... 2021 ... -
- - ... 2022 ... -
我想通过将年份映射到该年的第1个日期来将其转换为日期,例如:
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”(匹配)不匹配
我该如何解决?
答案 0 :(得分:3)
将%Y
用于YYYY
格式的比赛年份,但我认为应该省略此参数:
df['year'] = pd.to_datetime(df['year'], format='%Y')
df['year'] = pd.to_datetime(df['year'])
答案 1 :(得分:1)
您可以尝试以下方法:
df['year'] = df['year'].astype('str') + "-01-01"
print(df)