• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

Python的改变从日/日期格式/ YY到DD /月/年的日期1970年以前

python 来源:Nithin Das 3次浏览

我有一个具有日期列像下面蟒大熊猫数据帧:Python的改变从日/日期格式/ YY到DD /月/年的日期1970年以前

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

欲这个对象数据类型转换为日期格式,是这样的:1953年4月6日…

我试图转换为datetime数据类型如下:

df['Birth Date']=pandas.to_datetime(df['Birth Date'],format='%d/%m/%y') 

但输出像:

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

我怎么得到1953年,1950年等,而不是2053年,2050年?


===========解决方案如下:

您需要通过掩码手动更改年份,例如,多为2017所有年份被100年减去:

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 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)