# Defining required fields df['year'] = [x for x in df.index.year] df['month'] = [x for x in df.index.month] df = df.reset_index() df['week'] = df['Datetime'].apply(lambda x:x.week) df = df.set_index('Datetime') df['hour'] = [x for x in df.index.hour] df['day'] = [x for x in df.index.day_of_week] df['day_str'] = [x.strftime('%a') for x in df.index] df['year_month'] = [str(x.year) + '_' + str(x.month) for x in df.index]