如何在 Python 中绘制带有异常值和四分位数的箱线图

How to Draw Boxplot With Outliers And Quartiles In Python

我的箱线图显示正确,但我无法理解离群值和四分位数.. 我的箱线图如下所示

这是我的代码

df = pd.read_csv(r'posts_dataset.csv')
df.boxplot(by='city', column=['price'], color='red')
plt.show()

如何将其绘制为具有异常值和矩形的其他正式箱线图?

很可能你的 price 有一些巨大的异常值或者它有一条粗尾巴,例如:

df = pd.DataFrame({'price':np.random.negative_binomial(0.1, 0.0001,5000),
                   'city':np.random.choice(['A','B','C'],5000)})
df.hist(column='price')

如果您绘制箱线图,它将被压扁:

df.boxplot(by='city', column=['price'], color='red')

一个选择是取 log10 :

df['log_price'] = np.log10(df['price']+1)
df.boxplot(by='city', column='log_price', color='red')