import pandas as pd
import numpy.random as random
n = 1000
df = pd.DataFrame(random.randn(n), pd.date_range('2010-01-01', periods=n),
    columns=['data'])
df['Dates'] = df.index
df['week_days'] = df.index.weekday
df
Best way to generate day-of-week boxplots from a Pandas timeseries