import pandas as pd import numpy as np from collections import OrderedDict # fake data ind = pd.date_range(start="2000-01-01", freq="B", periods=10) data = OrderedDict() data['Date'] = ind for h in range(1, 25): data['h%d'%h] = np.random.randn(len(ind)) df = pd.DataFrame(data) df = df.set_index('Date') df = df.asfreq('D') df # grab the hourly matrix hourly_data = df.values # generate new_index new_ind = pd.date_range(start=df.index[0], freq="H", periods=len(df) * 24) # create Series. s = pd.Series(hourly_data.flatten(), index=new_ind) df.ix[:5, :10] s.head()