Jupyter Data Science Workflow

From exploratory analysis to reproducible science

Jake VanderPlas

University of Washington eScience Institute


In [1]:
%matplotlib inline

import matplotlib.pyplot as plt
plt.style.use("seaborn")

In [2]:
from jupyterworkflow.data import get_freemont_data

In [3]:
data = get_freemont_data()
data.head()


Out[3]:
West East Total
Date
2012-10-03 00:00:00 4.0 9.0 13.0
2012-10-03 01:00:00 4.0 6.0 10.0
2012-10-03 02:00:00 1.0 1.0 2.0
2012-10-03 03:00:00 2.0 3.0 5.0
2012-10-03 04:00:00 6.0 1.0 7.0

In [4]:
data.resample('W').sum().plot();



In [5]:
ax = data.resample('D').sum().rolling(365).sum().plot()
ax.set_ylim(0, None)


Out[5]:
(0, 1058559.2)

In [9]:
data.groupby(data.index.time).mean().plot();



In [7]:
pivoted = data.pivot_table('Total', index=data.index.time, columns=data.index.date)
pivoted.iloc[:5, :5]


Out[7]:
2012-10-03 2012-10-04 2012-10-05 2012-10-06 2012-10-07
00:00:00 13.0 18.0 11.0 15.0 11.0
01:00:00 10.0 3.0 8.0 15.0 17.0
02:00:00 2.0 9.0 7.0 9.0 3.0
03:00:00 5.0 3.0 4.0 3.0 6.0
04:00:00 7.0 8.0 9.0 5.0 3.0

In [8]:
pivoted.plot(legend=False, alpha=0.01);



In [12]: