fig, axs = plt.subplots(len(areas), 1, figsize=(5, 45))
for ax, area in zip(axs, areas):
    df2 = df.loc[df.area == area]
df2.boxplot(column=['obs1'], by=df2.index.month, showmeans=True, ax=ax)
multiple boxplots from Pandas dataframe