pandas中的boxplot的数据限制和最大距离(Python)

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

我使用Python绘制数据(来自许多实验),我想使用boxplot库的pandas方法。

执行df = pd.DataFrame(value,columns=['Col1'])的结果如下:

enter image description here

问题来自极端的价值观。在Matlab中,解决方案是使用'DataLimit'选项:

boxplot(bp1,'DataLim',[4.2,4.3])

来自Matlab文档:

数据限制和最大距离

'DataLim' - 极限数据限制[-Inf,Inf](默认)|双元素数值向量

极限数据限制,指定为逗号分隔对,分别由'DataLim'和包含下限和上限的双元素数字向量组成。 “ExtremeMode”使用为“DataLim”指定的值来确定哪些数据点是极端的。

Python有类似的东西吗?

Walkaround:但是,我有一个走动(我真的不喜欢,因为它改变了测量的统计分布):我只是手动排除“有问题的值”:

df = pd.DataFrame(value[100:],columns=['Col1'])
df.boxplot(column=['Col1'])

结果是:

enter image description here

这是因为我知道问题出在哪里。

python python-3.x pandas matlab boxplot
1个回答
0
投票

您可以使用ylim来约束轴而不会忽略计算中的异常值:

data = np.concatenate((np.random.rand(50) * 100,  # spread
                       np.ones(25) * 50,  # center
                       np.random.rand(10) * 100 + 100,  # flier high
                       np.random.rand(10) * -100,  # flier low
                       np.random.rand(2) * 10_000))  # unwanted outlier
fig1, ax1 = plt.subplots()
ax1.boxplot(data)
plt.ylim([-100, 200])
plt.show()
© www.soinside.com 2019 - 2024. All rights reserved.