I can successfully fill my new column with group counts, but I suspect there is a simpler way:
# How do I simplify this?
def f(gr):
return pd.Series([gr['class_name'].count()] * gr.shape[0], index=gr.index)
df['class_size'] = df.groupby("class_name").apply(f).reset_index(level=0, drop=True)
column_list = ['class_name', 'class_size']
df[column_list].head(5)
Gets: