Python / Numpy - 在值的某些容差内设置值

时间:2011-03-08 18:47:55

标签: python numpy

如果我有一个数组并且我想将值'close'设置为某个值作为该值,那么最好的方法是什么?我想知道他们是否是一个numpy函数。如果没有numpy函数,那么代码是“最佳”(即最快/最有效)的方式吗?它也适用于多维数组。

代码:

from numpy import array
tol = 1e-5

# Some array with values close to 0 and 1
t = array([1.0e-10, -1.0e-10, 1.0+1.0e-10, 1.0-1.0e-10, 5.0])
print t[0], t[1], t[2], t[3], t[4]

# Set values within 'tol' of zero to zero
t[abs(t) < tol] = 0.
print t[0], t[1], t[2], t[3], t[4]

# Set values within 'tol' of some value to that value
val = 1.
t[abs(t-val) < tol] = val
print t[0], t[1], t[2], t[3], t[4]

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:3)

你想要达到的目标并不是很清楚,但我的解释是around是你案件的解决方案。