Disons que j'ai un tableau a
:
a = np.array([[1,2,3], [4,5,6]])
array([[1, 2, 3],
[4, 5, 6]])
Je voudrais le convertir en un tableau 1D (c'est-à-dire un vecteur de colonne):
b = np.reshape(a, (1,np.product(a.shape)))
mais cela revient
array([[1, 2, 3, 4, 5, 6]])
ce qui n'est pas la même chose que:
array([1, 2, 3, 4, 5, 6])
Je peux prendre le premier élément de ce tableau pour le convertir manuellement en un tableau 1D:
b = np.reshape(a, (1,np.product(a.shape)))[0]
mais cela me demande de connaître le nombre de dimensions du tableau d'origine (et de concaténer [0] lorsque vous travaillez avec des dimensions plus élevées)
Existe-t-il un moyen indépendant des dimensions d'obtenir un vecteur colonne / ligne à partir d'un ndarray arbitraire?
ravel()
renvoie une vue, mais ce n'est pas toujours vrai. Il y a des cas oùravel()
renvoie une copie. </pedantic>