Qual è la lunghezza dell'asse in numpy

Sep 24 2020

Sto solo iniziando con numpy. Il tutorial di avvio rapido dice:

Le coordinate di un punto nello spazio 3D [1, 2, 1] hanno un asse. Quell'asse ha 3 elementi al suo interno, quindi diciamo che ha una lunghezza di 3. Nell'esempio mostrato sotto, l'array ha 2 assi. Il primo asse ha una lunghezza di 2, il secondo ha una lunghezza di 3.

[[ 1., 0., 0.],  
 [ 0., 1., 2.]]

Non ricevo "Il primo asse ha una lunghezza di 2, il secondo ha una lunghezza di 3." Posso vedere entrambi [ 1., 0., 0.]e [ 0., 1., 2.]contengono tre elementi, allora perché la loro lunghezza non è 3?

Risposte

1 MadPhysicist Sep 24 2020 at 23:29

L'esempio che mostri non è male, ma ti confonde. Il termine "asse" equivale a "dimensione". Prendi questo array:

[[1, 2, 3],
 [4, 5, 6]]

Questa matrice è bidimensionale. Il fatto che la prima dimensione, o asse, abbia due elementi è solo una coincidenza. Gli assi non sono [1, 2, 3]e [4, 5, 6].

Un esempio meno confuso potrebbe essere il seguente:

[[1, 2, 3],
 [2, 3, 4],
 [3, 4, 5],
 [4, 5, 6]]

Anche questo array è bidimensionale, ma ha 4 elementi nella prima dimensione. La forma è (4, 3): 4 righe, 3 colonne in ogni riga.

1 windstorm Sep 24 2020 at 19:09

Considera una matrice 2-D di dimensioni NxM. Ciò significa che ha N righe e M colonne. E se rappresentata graficamente, questa matrice avrebbe 2 assi orizzontali (contro i quali sono contrassegnati gli indici di colonna) e verticali (contro i quali sono contrassegnati gli indici di riga).

Prendendo il concetto qui, l'array mostrato qui è un array 2-D (un array di alcuni array) quindi ha 2 assi.

  • Numero di righe = 2 = lunghezza del primo asse.
  • Numero di colonne = 3 = lunghezza del secondo asse.