cluster_overload = pd.read_csv('TSplot.csv', delim_whitespace=True)
grouped = cluster_overload.groupby(['Cluster', 'Week'], as_index=False)
stats = grouped.agg(['min', 'mean', 'max']).unstack().T
stats.index = stats.index.droplevel(0)
colors = ['b', 'g', 'r']
ax = stats.loc['mean'].plot(color=colors, alpha=0.8, linewidth=3)
stats.loc['max'].plot(ax=ax, color=colors, legend=False, alpha=0.3)
stats.loc['min'].plot(ax=ax, color=colors, legend=False, alpha=0.3)
Timeseries plot with min/max shading using Seaborn