对于给定的数据,我想将异常值(由95%confidense级别或95%分位数函数或任何需要的东西定义)设置为nan值.以下是我现在使用的数据和代码.如果有人能够进一步解释我,我会很高兴的.
import numpy as np, matplotlib.pyplot as plt
data = np.random.rand(1000)+5.0
plt.plot(data)
plt.xlabel('observation number')
plt.ylabel('recorded value')
plt.show()
Run Code Online (Sandbox Code Playgroud) pyplot.hist()文档指定在为直方图设置范围时"忽略较低和较高的异常值".
是否有可能使直方图的第一个和最后一个箱包含所有异常值而不改变箱的宽度?
例如,假设我想看看0-3带有3个区间的范围:( 0-1, 1-2, 2-3为简单起见,我们忽略完全相等的情况).我希望第一个bin包含从负无穷大到1的所有值,最后一个bin包含从2到无穷大的所有值.但是,如果我明确地将这些箱子设置为跨越该范围,它们将非常宽.我希望他们有相同的宽度.我正在寻找的行为就像hist()在Matlab中的行为.
显然我可以numpy.clip()得到数据和情节,这将给我我想要的东西.但我感兴趣的是,如果有一个内置的解决方案.