a = np.array([[1,2,3][4,5,6][7,8,9]]) b = [0,1] I want to find value of a that has (0,1) index which is 2 in this case.I have tried a[b] but it does not show the expected result.How can I solve this problem?
3 Réponses :
Utilisez a [tuple (b)] , comme ceci:
In [3]: a=np.array([[1,2,3],[4,5,6],[7,8,9]]) In [4]: b=np.array([0,1]) In [5]: a[tuple(b)] Out[5]: 2
Pour plus d'informations, voir https://docs.scipy.org/doc/numpy-1.16.0/user/basics.indexing.html#dealing-with-variable-numbers-of-indices-within-programs
Ces lignes:
import numpy as np a = np.array([[1,2,3],[4,5,6],[7,8,9]]) print(a[0,1]) print(a[0][1])
Ce sont des listes, pas des ndarrays. Les listes ne prennent pas en charge l'indexation numpy sophistiquée. Pour accéder au 1er élément de la 0ème entrée de cette liste de listes, vous utiliseriez:
print(a[0][1])
Si vous voulez réellement utiliser numpy ndarrays, essayez quelque chose comme ceci:
a = [[1,2,3],[4,5,6],[7,8,9]] b = [0,1]
Vous pouvez également utiliser la boucle for : -
2
Sortie
a = np.array( [[1,2,3],[4,5,6],[7,8,9]])
b = [0,1]
for var in b:
a = a[var]
print(a)
Tout d'abord, ce n'est pas un tableau numpy, ce sont des listes python. Alors, est votre question sur le tableau numpy? (si oui, veuillez modifier l'exemple) ou s'agit-il de listes python? (si oui, veuillez modifier la question)
J'ai édité!