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]
?
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!