In [3]:
import pandas as pd
import datetime
timedeltaM = pd.Series([pd.Timedelta(days = i) for i in range(5)])
pd.Series(datetime.datetime(2009, 7, 15, 0, 0) + timedeltaM)
datetime.datetime(2009, 7, 15, 0, 0) + timedeltaM
Out[3]:
In [57]:
import numpy as np
import numpy.random as npr
import pandas as pd
import datetime as dt
sample_size = 1000
npr.seed(1234)
start_day = dt.datetime(2009, 7, 15, 0, 0)
start_day_num = dt.datetime(2009, 7, 15, 0, 0).timetuple().tm_yday # 196
# create a DataFrame of the kind that Mel appepars to be working with
pdM = pd.DataFrame({
'half_hours': npr.random_integers(low = 0, high = 1, size = sample_size),
'num_days': npr.random_integers(low = 196, high = 365, size = sample_size)
})
# create the timedelta measured in minutes
pdM['min_delta'] = pd.to_timedelta(
pdM['half_hours']*30 + (pdM['num_days'] - start_day_num)*(24*60),
unit = 'm'
)
# create the datetime & day of week
pdM['YrMDayT'] = pd.to_datetime(start_day) + pdM['min_delta']
pdM['dayofweek'] = pdM['YrMDayT'].dt.weekday
pdM
Out[57]: