df['Class'] = (df.MAT.values > breaks[..., (np.newaxis)]).sum(0)
ax = df.boxplot(column='N0_YLDF', by='Class')
ax.xaxis.set_ticklabels([('%s' % val) for val in breaks])
Boxplot stratified by column in python pandas