Python中的Dataframe Boxplot显示不正确的胡须
在这个简单的例子中,它给出了错误的min和max whisPython中的Dataframe Boxplot显示不正确的胡须,python,pandas,plot,boxplot,Python,Pandas,Plot,Boxplot,在这个简单的例子中,它给出了错误的min和max whis df = pd.DataFrame(np.array([1,2,3, 4, 5]), columns=['a']) df.boxplot() 结果: 按照常规公式Q3+1.5*IQR,它应该是7和-1,但如图所示,它是5和1。看起来公式使用了0.5而不是1.5。我怎样才能改回标准 Q1 = df['a'].quantile(0.25) Q2 = df['a'].quantile(0.50) Q3
df = pd.DataFrame(np.array([1,2,3, 4, 5]),
columns=['a'])
df.boxplot()
结果:
按照常规公式Q3+1.5*IQR,它应该是7和-1,但如图所示,它是5和1。看起来公式使用了0.5而不是1.5。我怎样才能改回标准
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.03.04.0
IQR:2.0最大值:%:7.0最小值:%-1.0
Q1、Q2、Q3 nad IQR正确,但不是最小值或最大值
从上四分位数上方,测量出1.5倍IQR的距离,并将触须拉长至数据集中该距离范围内的最大观察点。类似地,在下四分位数下方测量出1.5倍IQR的距离,并从该距离范围内的数据集向上绘制一条胡须到下观察点。所有其他观测点均绘制为异常值
我相信胡须的绘制值最接近Q1/3+1.5*IQR。这些值在您的案例1和5中。您是对的。我想胡须应该正好在Q3+1.5*IQR值。谢谢你的澄清。