pytutorial/numpy/ravel_unravel
David Rotermund 64a81ecfcd
Update README.md
Signed-off-by: David Rotermund <54365609+davrot@users.noreply.github.com>
2023-12-30 19:21:21 +01:00
..
README.md Update README.md 2023-12-30 19:21:21 +01:00

Ravel and UnRavel

{:.no_toc}

* TOC {:toc}

Top

Questions to David Rotermund

numpy.ravel_multi_index

numpy.ravel_multi_index(multi_index, dims, mode='raise', order='C')

Converts a tuple of index arrays into an array of flat indices, applying boundary modes to the multi-index.

import numpy as np

idx = np.ravel_multi_index(([0, 1, 2], [0, 1, 1]), dims=(3, 2))
print(idx)  # -> [0 3 5]

a = np.zeros((3, 2))
a.flat[idx] = 1
print(a)
print()

a = np.zeros((3, 2))
a.flat[idx] = np.arange(1, idx.shape[0] + 1)
print(a)

Output:

[[1. 0.]
 [0. 1.]
 [0. 1.]]

[[1. 0.]
 [0. 2.]
 [0. 3.]]

numpy.unravel_index

numpy.unravel_index(indices, shape, order='C')

Converts a flat index or array of flat indices into a tuple of coordinate arrays.