Вы можете использовать groupby
+ transform('size')
, чтобы создать маску, которая ограничивает ваш DataFrame для авторов с более чем 1 строкой. Затем boxplot
это подмножество.
m = df.groupby('Author')['Score'].transform('size').gt(1)
df.loc[m].boxplot(by='Author', column='Score')
Этот метод позволяет легко обобщить произвольное количество строк в качестве порога , В этом особом случае более чем 1 строки вы также можете использовать duplicated
для нарезки оригинала:
df[df.duplicated('Author', keep=False)].boxplot(by='Author', column='Score')