Maison  >  Article  >  développement back-end  >  Indexer plusieurs éléments dans un tableau numpy multidimensionnel

Indexer plusieurs éléments dans un tableau numpy multidimensionnel

王林
王林avant
2024-02-22 14:00:06985parcourir

索引多维 numpy 数组中的多个元素

Contenu de la question

Je souhaite extraire les éléments d'un tableau numpy multidimensionnel donné à l'aide d'un autre tableau indexé. Mais il ne se comporte pas comme je l'espérais. Voici un exemple simple :

import numpy as np

a = np.random.random((3, 3, 3))
idx = np.asarray([[0, 0, 0], [0, 1, 2]])

b = a[idx]
print(b.shape)  # expect (2, ), got (2, 3, 3, 3)

Pourquoi cela se produit-il ? Comment dois-je modifier le code pour créer b 仅包含两个元素:a[0, 0, 0]a[0, 1, 2] ?


Bonne réponse


Vous recherchez une indexation avancée numpy

https://www.php.cn/link/2d661a763280f48803f3c9ba8ba0e00b

Dans votre cas vous devez utiliser idx sur chaque axe :

a[idx[:,0], idx[:, 1], idx[:, 2]].shape == (2,)  # True

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer