for _, row in df.iterrows():
    plt.plot(row.preTestScore, row.postTestScore, 'o', ms=np.sqrt(row.age),
        label=row.last_name)
plt.legend(loc='upper left', bbox_to_anchor=(1, 1))
Pandas Scatterplot Using Data Frame Fields to Derive Colors and Legend