Python / Numpy - устанавливает значения в пределах некоторого допуска к значению - PullRequest
4 голосов
/ 08 марта 2011

Если у меня есть массив, и я хочу установить значения '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 ]

3 голосов
/ 08 марта 2011

Не совсем ясно, чего вы пытаетесь достичь, но моя интерпретация заключается в том, что вокруг является решением для вашего случая.

3 голосов
/ 08 марта 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...