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

Indexer plusieurs éléments dans un tableau numpy multidimensionnel

王林
Libérer: 2024-02-22 14:00:06
avant
1031 Les gens l'ont consulté

索引多维 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)
Copier après la connexion

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
Copier après la connexion

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!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal