在Python中的Dataframe Boxplot显示不正确的晶须。

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

在这个简单的例子中,它给出了错误的最小和最大whis。

df = pd.DataFrame(np.array([1,2,3, 4, 5]),
                  columns=['a'])
df.boxplot() 

结果。

enter image description here

按照常规公式(Q3 + 1.5 * IQR),应该是7和-1,但如图所示是5和1。如何才能改回标准?

Q1 = df['a'].quantile(0.25)
Q2 = df['a'].quantile(0.50)
Q3 = df['a'].quantile(0.75)

print(Q1,Q2, Q3)
IQR = Q3 - Q1
MaxO = (Q3 + 1.5 * IQR)
MinO = (Q1 - 1.5 * IQR)
print("IQR:", IQR, "Max:", MaxO, "Min:" ,MinO)

结果是:2.0 3.0 4.0

2.0 3.0 4.0

IQR: 2.0 最大:%: 7.0 最小:% -1.0

(Q1、Q2、Q3和IQR是正确的,但不是最小或最大)

python pandas plot boxplot
1个回答
1
投票

源头

从上四分位数以上,测量出1.5倍IQR的距离,并从数据集中画出一个须状物到落在这个距离内的最大观测点。同样,在下四分位数以下测量出1.5倍IQR的距离,并从数据集中画出一个须状物到落在这个距离内的较低观测点。所有其他观察点都被绘制为离群值。

© www.soinside.com 2019 - 2024. All rights reserved.