我发现numpy clip函数的性能明显比自己用一个面具来做要慢得多(164us比74us左右)。clip函数是否做了一些额外的事情,使它花费了两倍的时间?在
%timeit growth.clip(-maxg, maxg)
10000 loops, best of 3: 164 µs per loop
%timeit growth[np.greater(growth,maxg)] = maxg
10000 loops, best of 3: 37.1 µs per loop
%timeit growth[np.less(growth,-maxg)] = -maxg
10000 loops, best of 3: 37 µs per loop
重置增长数组并按相反顺序进行测试后:
^{pr2}$请注意,增长是一个相当大的阵列:
growth.shape
(12964, 7)
默认值
numpy.clip
返回一个新数组,其中包含剪裁后的值。使用参数out=growth
使操作就位:这样,
clip
所花费的时间与您提到的备选方案更加相似。在相关问题 更多 >
编程相关推荐