pd.to_datetime
может создавать даты при заданных единицах времени относительно некоторого происхождения. По умолчанию используется источник POSIX 1970-01-01 00:00:00
и время в наносекундах.
import pandas as pd
df['date1'] = pd.to_datetime(df.index, unit='D', origin='2010-01-01')
df['date2'] = pd.to_datetime(df.index, unit='W')
Выход:
# Col1 Col2 date1 date2
#Index
#1 6.5 0.7 2010-01-02 1970-01-08
#2 6.2 0.3 2010-01-03 1970-01-15
#3 0.4 2.1 2010-01-04 1970-01-22
В качестве альтернативы, вы можете добавить timedelta
s к указанному началу:
pd.to_datetime('2010-01-01') + pd.to_timedelta(df.index, unit='D')
или просто оставьте их как timedelta
:
pd.to_timedelta(df.index, unit='D')
#TimedeltaIndex(['1 days', '2 days', '3 days'], dtype='timedelta64[ns]', name='Index', freq=None)