我想绘制数据框的箱形图(请参见下面的示例代码)。我想知道的是:如何禁用离群值检测?我不想删除它们,我只想要一个图表,通过标记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()
编辑:
我想在绘制晶须时包括这个异常值,而不仅仅是不显示它。
您正在寻找whis
参数。
whis:浮点数,序列或字符串(默认= 1.5)
作为浮点数,确定晶须超出第一和第三四分位数。换一种说法,如果IQR是四分位间距(Q3-Q1),则上晶须将扩展到小于Q3 + whis IQR)的最后一个数据。同样,较低的晶须将延伸到大于Q1的第一个基准-whis IQR。除晶须外,数据被认为是离群值,并绘制为个别点。将此值设置为不合理的高值,以强制晶须显示最小值和最大值。或者,将此设置为百分位数的上升顺序(例如[5,95])以设置晶须在数据的特定百分位数处。最后,whis可以作为字符串“范围”将晶须强制为数据的最小值和最大值。
像这样添加它:
df.boxplot(whis=99)