xorbits.numpy.nested_iters#
- xorbits.numpy.nested_iters(op, axes, flags=None, op_flags=None, op_dtypes=None, order='K', casting='safe', buffersize=0)#
Create nditers for use in nested loops
Create a tuple of nditer objects which iterate in nested loops over different axes of the op argument. The first iterator is used in the outermost loop, the last in the innermost loop. Advancing one will change the subsequent iterators to point at its new element.
- Parameters
op (ndarray or sequence of array_like) – The array(s) to iterate over.
axes (list of list of int) – Each item is used as an “op_axes” argument to an nditer
flags – See nditer parameters of the same name
op_flags – See nditer parameters of the same name
op_dtypes – See nditer parameters of the same name
order – See nditer parameters of the same name
casting – See nditer parameters of the same name
(optional) (buffersize) – See nditer parameters of the same name
- Returns
iters – An nditer for each item in axes, outermost first
- Return type
tuple of nditer
See also
Examples
Basic usage. Note how y is the “flattened” version of [a[:, 0, :], a[:, 1, 0], a[:, 2, :]] since we specified the first iter’s axes as [1]
>>> a = np.arange(12).reshape(2, 3, 2) >>> i, j = np.nested_iters(a, [[1], [0, 2]], flags=["multi_index"]) >>> for x in i: ... print(i.multi_index) ... for y in j: ... print('', j.multi_index, y) (0,) (0, 0) 0 (0, 1) 1 (1, 0) 6 (1, 1) 7 (1,) (0, 0) 2 (0, 1) 3 (1, 0) 8 (1, 1) 9 (2,) (0, 0) 4 (0, 1) 5 (1, 0) 10 (1, 1) 11
Warning
This method has not been implemented yet. Xorbits will try to execute it with numpy.
This docstring was copied from numpy.