如果我有一個數組,並且我想將值設置爲「close」作爲該值的某個值,那麼執行此操作的最佳方法是什麼?我想知道他們是否是一個numpy功能。如果沒有numpy功能,那麼代碼是否低於「最佳」(即最快/最有效)的方式來做到這一點?它也適用於多維數組。Python/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]
我認爲這是'數據清理'的最佳方式。我剛纔問了一個關於數據清理的類似問題,你的方法就是建議的。 http://stackoverflow.com/questions/4339273/can-i-cleanse-a-numpy-array-without-a-loop – Pete 2011-03-09 17:31:11