df = pd.melt(df, id_vars=['date'], var_name='condition')
ax = df.groupby(['condition', 'date']).mean().unstack('condition').plot()
x = np.arange(len(df.date.unique()))
palette = sns.color_palette()
for cond, cond_df in df.groupby('condition'):
    low = cond_df.groupby('date').value.apply(np.percentile, 25)
high = cond_df.groupby('date').value.apply(np.percentile, 75)
ax.fill_between(x, low, high, alpha=0.2, color=palette.pop(0))
Plotting time-series data with seaborn