我用seaborn制作了一个箱线图,我想获得一些统计值,例如最小值、第一四分位数、中位数、第三四分位数、最大值以及异常值。
是否有任何函数或属性可以通过 seaborn boxplot 直接收集这些值。
或者我应该通过其他包或手动计算这些。
使用 pandas 的describe()功能,最终加上groupby(). 例如:
tips = sns.load_dataset("tips")
x_val = "day"
y_val = "total_bill"
hue_val = "time"
ax = sns.boxplot(x=x_val, y=y_val, hue=hue_val, data=tips)
Run Code Online (Sandbox Code Playgroud)
tips.groupby([x_val,hue_val])[y_val].describe()
Run Code Online (Sandbox Code Playgroud)
输出:
count mean std min 25% 50% 75% \
day time
Thur Lunch 61.0 17.664754 7.950334 7.51 12.4300 16.000 20.2700
Dinner 1.0 18.780000 NaN 18.78 18.7800 18.780 18.7800
Fri Lunch 7.0 12.845714 2.842228 8.58 11.1250 13.420 14.7000
Dinner 12.0 19.663333 9.471753 5.75 12.3525 18.665 23.8825
Sat Dinner 87.0 20.441379 9.480419 3.07 13.9050 18.240 24.7400
Sun Dinner 76.0 21.410000 8.832122 7.25 14.9875 19.630 25.5975
max
day time
Thur Lunch 43.11
Dinner 18.78
Fri Lunch 16.27
Dinner 40.17
Sat Dinner 50.81
Sun Dinner 48.17
Run Code Online (Sandbox Code Playgroud)