You need a different method call, namely .set_rotation for each ticklables.
Since you already have the ticklabels, just change their rotations:
for item in by_school.get_xticklabels():
item.set_rotation(45)
barplot returns a matplotlib.axes object (as of seaborn 0.6.0), therefore you have to rotate the labels this way. In other cases, when the method returns a FacetGrid object, refer to Rotate label text in seaborn factorplot