使用seaborn时如何从箱线图中获取统计值?

YAN*_*ING 4 python seaborn

我用seaborn制作了一个箱线图,我想获得一些统计值,例如最小值、第一四分位数、中位数、第三四分位数、最大值以及异常值。

是否有任何函数或属性可以通过 seaborn boxplot 直接收集这些值。

或者我应该通过其他包或手动计算这些。

Diz*_*ahi 8

使用 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)