flopscope.numpy.put
fnp.put(a, ind, v, mode='raise')[flopscope source][numpy source]
Replaces specified elements of an array with given values.
Adapted from NumPy docs np.put
Replace elements at given flat indices. Cost: numel(input).
The indexing works on the flattened target array. put is roughly equivalent to:
a.flat[ind] = vParameters
- a:ndarray
Target array.
- ind:array_like
Target indices, interpreted as integers.
- v:array_like
Values to place in
aat target indices. Ifvis shorter thanindit will be repeated as necessary.- mode:{'raise', 'wrap', 'clip'}, optional
Specifies how out-of-bounds indices will behave.
'raise' -- raise an error (default)
'wrap' -- wrap around
'clip' -- clip to the range
'clip' mode means that all indices that are too large are replaced by the index that addresses the last element along that axis. Note that this disables indexing with negative numbers. In 'raise' mode, if an exception occurs the target array may still be modified.
See also
- we.flops.putmask
- we.flops.place
- we.flops.put_along_axis Put elements by matching the array and the index arrays
Examples
>>> import flopscope.numpy as fnp
>>> a = flops.arange(5)
>>> flops.put(a, [0, 2], [-44, -55])
>>> a
array([-44, 1, -55, 3, 4])>>> a = flops.arange(5)
>>> flops.put(a, 22, -5, mode='clip')
>>> a
array([ 0, 1, 2, 3, -5])