当使用seaborn绘制盒图时,如何获取统计值?

3
我使用Seaborn绘制了箱线图,我想获取一些统计数据,例如最小值、第一四分位数、中位数、第三四分位数、最大值和异常值。
是否有函数或属性可以通过Seaborn的箱线图直接收集这些值?
还是说我应该通过其他软件包或手动计算这些值。

你最好自己计算这些值,因为seaborn没有检索值的接口。唯一的选择是从图中查询每个矩形和线的坐标。 - ImportanceOfBeingErnest
1个回答

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)

enter image description here

tips.groupby([x_val,hue_val])[y_val].describe()

输出:

             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  

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接