Maison >développement back-end >Tutoriel Python >Comment trouver efficacement les valeurs correspondant aux indices de ligne dans un tableau NumPy ?
Étant donné un tableau X et un tableau searched_values, la tâche consiste à trouver les indices des lignes de X qui correspondent aux lignes correspondantes dans searched_values.
np.where((X==searched_values[:,None]).all(-1))[1]
dims = X.max(0)+1 out = np.where(np.in1d(np.ravel_multi_index(X.T,dims),\ np.ravel_multi_index(searched_values.T,dims)))[0]
np.ravel_multi_index convertit un tableau 2D d'indices à n dimensions en équivalents d'index linéaires. Par exemple, étant donné X et dims, il calculerait :
np.ravel_multi_index(X.T,dims)
Résultant en [30, 66, 61, 24, 41], où chaque nombre représente l'équivalent d'index linéaire de la ligne correspondante dans X.
Lors de la sélection des dimensions pour np.ravel_multi_index afin de générer des indices linéaires uniques, tenez compte des éléments suivants :
Pour le X donné :
dims = X.max(0)+1 # [10, 7]
Cela créerait une grille avec au moins les dimensions spécifiées, garantissant des indices linéaires uniques.
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!