我需要获取生成的统计数据以在 Pandas 中绘制箱形图(使用数据框创建箱形图)。即四分位数 1、四分位数 2、四分位数 3、下晶须值、上晶须值和异常值。 我尝试了以下查询来绘制箱线图。
import pandas as pd
df = pd.DataFrame(np.random.rand(100, 5), columns=['A', 'B', 'C', 'D', 'E'])
pd.DataFrame.boxplot(df,return_type = 'both')
有没有办法代替手动计算值?
最佳答案
一种选择是使用图中的 y 数据 - 可能对离群值(传单)最有用
_, bp = pd.DataFrame.boxplot(df, return_type='both')
outliers = [flier.get_ydata() for flier in bp["fliers"]]
boxes = [box.get_ydata() for box in bp["boxes"]]
medians = [median.get_ydata() for median in bp["medians"]]
whiskers = [whiskers.get_ydata() for whiskers in bp["whiskers"]]
但使用其中任何一种获取其他值(包括 IQR)可能更直接
quantiles = df.quantile([0.01, 0.25, 0.5, 0.75, 0.99])
或者,按照 WoodChopper 的建议
stats = df.describe()
关于python - 如何获取 matplotlib 箱线图的箱线图数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33518472/