是否有烘焙Numpy/Scipy函数来查找四分位数范围?我自己可以很容易地做到这一点,但mean()存在基本上sum/len......
def IQR(dist):
return np.percentile(dist, 75) - np.percentile(dist, 25)
Run Code Online (Sandbox Code Playgroud)
Jai*_*ime 91
np.percentile 需要多个百分位参数,你做得稍微好一点:
q75, q25 = np.percentile(x, [75 ,25])
iqr = q75 - q25
Run Code Online (Sandbox Code Playgroud)
要么
iqr = np.subtract(*np.percentile(x, [75, 25]))
Run Code Online (Sandbox Code Playgroud)
打两个电话percentile:
In [8]: x = np.random.rand(1e6)
In [9]: %timeit q75, q25 = np.percentile(x, [75 ,25]); iqr = q75 - q25
10 loops, best of 3: 24.2 ms per loop
In [10]: %timeit iqr = np.subtract(*np.percentile(x, [75, 25]))
10 loops, best of 3: 24.2 ms per loop
In [11]: %timeit iqr = np.percentile(x, 75) - np.percentile(x, 25)
10 loops, best of 3: 33.7 ms per loop
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40649 次 |
| 最近记录: |