numpy.putmask
-
numpy.putmask(a, mask, values) -
Изменяет элементы массива на основе условных значений и входных данных.
Устанавливает
a.flat[n] = values[n]для каждого n, гдеmask.flat[n]==True.Если
valuesне имеет такого же размера, какaиmask, то оно будет повторяться. Это приводит к поведению, отличающемуся отa[mask] = values.Параметры: a : array_like
Массив-цель.
mask : array_like
Булевый массив маски. Он должен иметь такую же форму, как
a.values : array_like
Значения, которые нужно поместить в
a, гдеmaskравно True. Еслиvaluesменьше, чемa, оно будет повторяться.Примеры
>>> x = np.arange(6).reshape(2, 3) >>> np.putmask(x, x>2, x**2) >>> x array([[ 0, 1, 2], [ 9, 16, 25]])Если
valuesменьше, чемa, оно повторяется:>>> x = np.arange(5) >>> np.putmask(x, x>1, [-33, -44]) >>> x array([ 0, 1, -33, -44, -33])
© 2008–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.11.0/reference/generated/numpy.putmask.html