Seaborn использует matplotlib для обработки вычислений выбросов, то есть ключевой параметр whis
передается в ax.boxplot
.Конкретная функция, обеспечивающая расчет, описана здесь: https://matplotlib.org/api/cbook_api.html#matplotlib.cbook.boxplot_stats.. Вы можете использовать matplotlib.cbook.boxplot_stats
для вычисления, а не для извлечения выбросов.В следующем фрагменте кода показан расчет и то же, что и на участке морского побережья:
import matplotlib.pyplot as plt
from matplotlib.cbook import boxplot_stats
import pandas as pd
import seaborn as sns
data = [
('LA', 1),
('Sultan', 128),
('ElderCare', 1),
('CA', 3),
('More', 900),
]
df = pd.DataFrame(data, columns=('client', 'total'))
ax = sns.boxplot(data=df)
outliers = [y for stat in boxplot_stats(df['total']) for y in stat['fliers']]
print(outliers)
for y in outliers:
ax.plot(1, y, 'p')
ax.set_xlim(right=1.5)
plt.show()
![enter image description here](https://i.stack.imgur.com/ssx23.png)