对于1970年之前的日期,Python将日期格式从dd/mm/yy更改为dd/mm/yyy

2024-05-17 05:07:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个python pandas数据框,它有一个日期列,如下所示:

'Birth Date'
0     22/04/73
1     22/03/53
2     22/04/73
3     14/08/77
4     08/05/50

我想把这个对象数据类型转换成日期格式,像这样:04/06/1953。。。在

尝试将以下数据类型转换为日期时间:

^{pr2}$

但结果是:

0    1973-04-22
1    2053-03-22
2    1973-04-22
3    1977-08-14
4    2050-05-08

我怎么才能把1953年、1950年等作为年份,而不是2053年、2050年?在


Tags: 数据对象pandasdate格式时间数据类型birth
1条回答
网友
1楼 · 发布于 2024-05-17 05:07:24

您需要手动按掩码更改年份,例如,当2017100年数减去后,所有年数都会增加:

df['Birth Date']= pd.to_datetime(df['Birth Date'],format='%d/%m/%y')
df['Birth Date'] = df['Birth Date'].mask(df['Birth Date'].dt.year > 2017, 
                                         df['Birth Date'] - pd.offsets.DateOffset(years=100))
print (df)
  Birth Date
0 1973-04-22
1 1953-03-22
2 1973-04-22
3 1977-08-14
4 1950-05-08

相关问题 更多 >