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]:
0   2009-07-15
1   2009-07-16
2   2009-07-17
3   2009-07-18
4   2009-07-19
dtype: datetime64[ns]

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]:
half_hours num_days min_delta YrMDayT dayofweek
0 1 353 157 days 00:30:00 2009-12-19 00:30:00 5
1 1 246 50 days 00:30:00 2009-09-03 00:30:00 3
2 0 321 125 days 00:00:00 2009-11-17 00:00:00 1
3 1 295 99 days 00:30:00 2009-10-22 00:30:00 3
4 0 297 101 days 00:00:00 2009-10-24 00:00:00 5
5 0 334 138 days 00:00:00 2009-11-30 00:00:00 0
6 0 348 152 days 00:00:00 2009-12-14 00:00:00 0
7 1 296 100 days 00:30:00 2009-10-23 00:30:00 4
8 1 247 51 days 00:30:00 2009-09-04 00:30:00 4
9 1 265 69 days 00:30:00 2009-09-22 00:30:00 1
10 1 348 152 days 00:30:00 2009-12-14 00:30:00 0
11 1 329 133 days 00:30:00 2009-11-25 00:30:00 2
12 0 359 163 days 00:00:00 2009-12-25 00:00:00 4
13 0 361 165 days 00:00:00 2009-12-27 00:00:00 6
14 1 241 45 days 00:30:00 2009-08-29 00:30:00 5
15 0 329 133 days 00:00:00 2009-11-25 00:00:00 2
16 0 250 54 days 00:00:00 2009-09-07 00:00:00 0
17 0 293 97 days 00:00:00 2009-10-20 00:00:00 1
18 0 254 58 days 00:00:00 2009-09-11 00:00:00 4
19 0 322 126 days 00:00:00 2009-11-18 00:00:00 2
20 0 359 163 days 00:00:00 2009-12-25 00:00:00 4
21 0 350 154 days 00:00:00 2009-12-16 00:00:00 2
22 0 210 14 days 00:00:00 2009-07-29 00:00:00 2
23 0 280 84 days 00:00:00 2009-10-07 00:00:00 2
24 1 213 17 days 00:30:00 2009-08-01 00:30:00 5
25 0 275 79 days 00:00:00 2009-10-02 00:00:00 4
26 1 235 39 days 00:30:00 2009-08-23 00:30:00 6
27 1 220 24 days 00:30:00 2009-08-08 00:30:00 5
28 0 265 69 days 00:00:00 2009-09-22 00:00:00 1
29 0 334 138 days 00:00:00 2009-11-30 00:00:00 0
... ... ... ... ... ...
970 0 351 155 days 00:00:00 2009-12-17 00:00:00 3
971 1 300 104 days 00:30:00 2009-10-27 00:30:00 1
972 0 268 72 days 00:00:00 2009-09-25 00:00:00 4
973 1 351 155 days 00:30:00 2009-12-17 00:30:00 3
974 1 313 117 days 00:30:00 2009-11-09 00:30:00 0
975 1 286 90 days 00:30:00 2009-10-13 00:30:00 1
976 1 233 37 days 00:30:00 2009-08-21 00:30:00 4
977 1 275 79 days 00:30:00 2009-10-02 00:30:00 4
978 0 353 157 days 00:00:00 2009-12-19 00:00:00 5
979 0 199 3 days 00:00:00 2009-07-18 00:00:00 5
980 1 257 61 days 00:30:00 2009-09-14 00:30:00 0
981 0 331 135 days 00:00:00 2009-11-27 00:00:00 4
982 0 282 86 days 00:00:00 2009-10-09 00:00:00 4
983 0 361 165 days 00:00:00 2009-12-27 00:00:00 6
984 1 240 44 days 00:30:00 2009-08-28 00:30:00 4
985 0 261 65 days 00:00:00 2009-09-18 00:00:00 4
986 0 228 32 days 00:00:00 2009-08-16 00:00:00 6
987 1 353 157 days 00:30:00 2009-12-19 00:30:00 5
988 0 224 28 days 00:00:00 2009-08-12 00:00:00 2
989 1 224 28 days 00:30:00 2009-08-12 00:30:00 2
990 1 339 143 days 00:30:00 2009-12-05 00:30:00 5
991 1 221 25 days 00:30:00 2009-08-09 00:30:00 6
992 1 280 84 days 00:30:00 2009-10-07 00:30:00 2
993 0 247 51 days 00:00:00 2009-09-04 00:00:00 4
994 0 285 89 days 00:00:00 2009-10-12 00:00:00 0
995 0 311 115 days 00:00:00 2009-11-07 00:00:00 5
996 1 279 83 days 00:30:00 2009-10-06 00:30:00 1
997 0 227 31 days 00:00:00 2009-08-15 00:00:00 5
998 0 330 134 days 00:00:00 2009-11-26 00:00:00 3
999 0 284 88 days 00:00:00 2009-10-11 00:00:00 6

1000 rows × 5 columns