首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python Dataframe盒图,带异常值的wisker计算

Python Dataframe盒图,带异常值的wisker计算
EN

Stack Overflow用户
提问于 2018-01-24 21:20:25
回答 1查看 1K关注 0票数 1

我很好奇熊猫的数据处理方法是如何计算上下游的胡须,有异常值的。通常是1.5IQR-Q1, 1.5IQR+Q3。然而,我无法理解的问题,或者我可能是错的,如何计算胡须。它显示了https://pandas.pydata.org/pandas-docs/stable/visualization.html的‘ve绘图部分中的相同问题,下面是我随机选择的代码示例:

代码语言:javascript
复制
ray1=[0.217766,0.691315,0.289239,0.239135,0.161341,0.364297,0.373284,0.323216]
df = pd.DataFrame(ray1, dtype = float)

如果我使用df.describe(),它会给我这个数组的统计数据。

代码语言:javascript
复制
count  8.000000
mean   0.332449
std    0.162374
min    0.161341
25%    0.233793
50%    0.306227
75%    0.366544
max    0.691315

但根据上面的晶须,较低的晶须来自于正常的1.5IQR-Q1, 1.5IQR+Q3,它应该在.565.035附近。如果我用df.boxplot()绘制这幅图,它会显示上面的晶须是0.373,下部的晶须是.161。我已经尝试过其他的变体(2.698σ)和奖品,而且它们也不相等。

那么,当存在异常值时,它是如何得到这些值的呢?

EN

回答 1

Stack Overflow用户

发布于 2018-08-03 09:32:43

为地块计算的晶须落在数据中的值上。由于您的数据只有8个值,所以可以很容易地将胡须的位置显示出来。

下面的代码生成您的盒图,并覆盖在上面的数据点。

代码语言:javascript
复制
df.boxplot()
plt.plot([1]*len(df),df[0],'x')
plt.show()

情节是:

希望这是足够清楚的,看到上面的胡须落在一个数据点。

从文档:gen/matplotlib.pyplot.boxplot.html:“上晶须将扩展到最后的基准小于Q3 + whis*IQR”

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48431774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档