On Tue, Jun 20, 2023 at 11:38 AM Daniel Salles Civitarese <
sall...@br.ibm.com> wrote:

> ### Proposed new feature or change:
>
> I work with geospatial data that requires tensors with many dimensions.
> One challenge I used to have was when I had to implement a `__getitem__` to
> access those tensors using a 1D index. One use case is machine learning,
> when one needs to feed models sequentially with sub-tensors of the original
> one. A simple example is a matrix of shape 2x2 that has the positions `(0,
> 0)`, `(0, 1)`, `(1, 0)`, `(1, 1)`, and I want to access it via indices `[0,
> 1, 2, 3]`. So, when I say `__getitem__(2)`, I want the position `(1, 0)`.
>

If the only reason you want to compute the indices is to access the data
using those flattened indices, we use the `.flat` property instead and
avoid explicitly computing those indices.

```
[~]
|21> x = np.arange(2*3).reshape((2, 3))

[~]
|22> x
array([[0, 1, 2],
       [3, 4, 5]])

[~]
|23> x.flat[[0, 1, 2, 3]]
array([0, 1, 2, 3])
```

-- 
Robert Kern
_______________________________________________
NumPy-Discussion mailing list -- numpy-discussion@python.org
To unsubscribe send an email to numpy-discussion-le...@python.org
https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
Member address: arch...@mail-archive.com

Reply via email to