Python 熊猫到_日期时间每年意外变化

Python 熊猫到_日期时间每年意外变化,python,pandas,datetime,datetime-format,python-datetime,Python,Pandas,Datetime,Datetime Format,Python Datetime,我有一个日期列,在使用pandas read_csv之后,它被表示为对象类型。我试图将其转换为pandas datetime对象,但使用pd.to_datetime时,它返回不正确的datetime对象 例如,我有格式为01-06-68的日期,其中01是天,06是月,68是年。将pandas to_datetime应用于此字符串将返回2068-06-01,但应返回1968-06-01,其中06是一个月,01是一天 我使用pandas to_datetime(python的datetime,钟摆库

我有一个日期列,在使用pandas read_csv之后,它被表示为对象类型。我试图将其转换为pandas datetime对象,但使用pd.to_datetime时,它返回不正确的datetime对象

例如,我有格式为01-06-68的日期,其中01是天,06是月,68是年。将pandas to_datetime应用于此字符串将返回2068-06-01,但应返回1968-06-01,其中06是一个月,01是一天

我使用pandas to_datetime(python的datetime,钟摆库)尝试了所有可能的解决方案,但仍然得到了一个错误。如何解决此问题?

使用:

df['date'] = pd.to_datetime(df['date'].str[:-2] + '19' + df['date'].str[-2:])
另一个带有替换的解决方案:

样本:

使用:

另一个带有替换的解决方案:

样本:

您在中有一个format=参数 您可能可以尝试使用df['my\u col']=pd.to\u datetimedf['my\u col'],格式='%d-%m-%Y'

请参阅此处的其他方法:

您在中有一个format=参数 您可能可以尝试使用df['my\u col']=pd.to\u datetimedf['my\u col'],格式='%d-%m-%Y'


请参阅此处的其他方法:

可能的重复,因此,如果%y年低于69,则将归属于2000年的一个世纪;如果%y年高于69,则将归属于1900年;如果%y年低于69,则将归属于2000年的一个世纪;如果%y年高于69,则将归属于1900年
df['date'] = pd.to_datetime(df['date'].str.replace(r'-(\d+)$', r'-19\1'))
print (df)
       date
0  01-06-70
1  01-06-69
2  01-06-68
3  01-06-67

df['date'] = pd.to_datetime(df['date'].str.replace(r'-(\d+)$', r'-19\1'))
print (df)
        date
0 1970-01-06
1 1969-01-06
2 1968-01-06
3 1967-01-06