In [34]: pd.Series(*zip(*((b,a) for a,b in data)))
Out[34]:
2008-07-15 15:00:00 0.134
2008-07-15 16:00:00 0.000
2008-07-15 17:00:00 0.000
2008-07-15 18:00:00 0.000
2008-07-15 19:00:00 0.000
2008-07-15 20:00:00 0.000
2008-07-15 21:00:00 0.000
2008-07-15 22:00:00 0.000
2008-07-15 23:00:00 0.000
2008-07-16 00:00:00 0.000
dtype: float64
Or, eschewing the insane desire to make one-liners:
dates, vals = zip(*data)
s = pd.Series(vals, index=dates)
If the data is extremely long, you can avoid creating the intermediate tuples by using itertools.izip:
import itertools as IT
dates, vals = IT.izip(*data)
s = pd.Series(vals, index=dates)