在箱形图中没有检测到异常值

问题描述 投票:1回答:2

我想绘制数据框的箱形图(请参见下面的示例代码)。我想知道的是:如何禁用离群值检测?我不想删除它们,我只想要一个图表,通过标记0%,25%,50%和75%的数据点来可视化数据,而无需考虑任何异常值标准。

我必须如何修改我的代码来实现这一目标?我可以改变异常检测标准的行为,就像被禁用吗?

我将非常感谢您的帮助,如果对此已经存在其他威胁(我没有发现),我将很高兴获得与它的链接。

非常感谢!乔丹

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

np.random.seed(1234)
df = pd.DataFrame(np.random.randn(10, 4),
                  columns=['Col1', 'Col2', 'Col3', 'Col4'])

plt.figure()
plt.boxplot(df.values)
plt.show()

编辑:

The outlier on the top right side is marked as an outlier

我想在绘制晶须时包括这个异常值,而不仅仅是不显示它。

python matplotlib boxplot
2个回答
1
投票

如果您在绘图功能中添加sym='',我想您会得到您所要的:

boxplot

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

np.random.seed(1234)
df = pd.DataFrame(np.random.randn(10, 4),
                  columns=['Col1', 'Col2', 'Col3', 'Col4'])

df.boxplot(sym='')

0
投票

您正在寻找whis参数。

对于documentation

whis:浮点数,序列或字符串(默认= 1.5)

作为浮点数,确定晶须超出第一和第三四分位数。换一种说法,如果IQR是四分位间距(Q3-Q1),则上晶须将扩展到小于Q3 + whis IQR)的最后一个数据。同样,较低的晶须将延伸到大于Q1的第一个基准-whis IQR。除晶须外,数据被认为是离群值,并绘制为个别点。将此值设置为不合理的高值,以强制晶须显示最小值和最大值。或者,将此设置为百分位数的上升顺序(例如[5,95])以设置晶须在数据的特定百分位数处。最后,whis可以作为字符串“范围”将晶须强制为数据的最小值和最大值。

像这样添加它:

df.boxplot(whis=99)
© www.soinside.com 2019 - 2024. All rights reserved.