我在数据框中有一个以下类型的列。
MAT_DATE对象
此列中的值类似于
42872个
42741个
...
...
如何将它们转换为日期时间?
这些基本上是未来日期。
使用to_datetime将它们转换为1970年
df ['MAT_DATE1'] = pd.to_datetime(df ['MAT_DATE'],errors ='coerce')
如果我使用excel更改为短日期,则转换日期会很好。 但是我想直接在数据框架上使用它。
答案 0 :(得分:2)
使用您感兴趣的origin参数,并根据@Wen建议的增量天数,这可能有效 -
pd.to_datetime(DF [' MAT_DATE&#39],误差='强迫',单位=' d',原点=' 1900至1901年-01&#39)
答案 1 :(得分:1)
该数字是抵消日期的天数增量,excel的默认值是偏移量为1990-01-01
s=pd.Series([42872,42741])
pd.TimedeltaIndex(s,unit='d')+pd.to_datetime('1900-01-01')
Out[88]: DatetimeIndex(['2017-05-19', '2017-01-08'], dtype='datetime64[ns]', freq=None)