Converti Matrice in Array in NumPy

Manav Narula 30 gennaio 2023
  1. Usa la funzione numpy.flatten() per convertire una matrice in una matrice in NumPy
  2. Usa la funzione numpy.ravel() per convertire una matrice in un array in NumPy
  3. Usa la funzione numpy.reshape() per convertire una matrice in una matrice in NumPy
Converti Matrice in Array in NumPy

NumPy ha molte funzioni e classi disponibili per eseguire diverse operazioni sulle matrici.

In questo tutorial impareremo come convertire una matrice in un array in NumPy.

Usa la funzione numpy.flatten() per convertire una matrice in una matrice in NumPy

flatten() prende un array N-Dimensional e lo converte in un array a dimensione singola.

Funziona solo con oggetti ndarray.

Può convertire una matrice in un array come mostrato di seguito.

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(arr.flatten())

Produzione:

[1 2 3 4 5 6 7 8 9]

Nota che se lavoriamo con un oggetto di tipo matrice, dobbiamo usare la funzione asarray() per convertirlo in un array e poi usare la funzione flatten(). Può essere fatto per tutti i metodi.

Per esempio,

import numpy as np

arr = np.matrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
arr_d = (np.asarray(arr)).flatten()
print(arr_d)

Produzione:

[1 2 3 4 5 6 7 8 9]

Usa la funzione numpy.ravel() per convertire una matrice in un array in NumPy

La funzione ravel() funziona esattamente come la funzione flatten() con alcune differenze notevoli. Entrambi sono usati per trasformare array N-Dimensionali in array monodimensionali.

Tuttavia, la funzione ravel() è una funzione di libreria e può anche lavorare su oggetti come una lista di array. flatten() restituisce una copia dell’originale, mentre ravel() restituisce sempre una vista dell’originale quando possibile.

Nel codice seguente useremo questa funzione per convertire una matrice.

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(arr.ravel())

Produzione:

[1 2 3 4 5 6 7 8 9]

Usa la funzione numpy.reshape() per convertire una matrice in una matrice in NumPy

Il reshape() ha modificato la forma complessiva dell’array senza alterarne il contenuto. Se assegniamo la nuova forma di una matrice come -1, otteniamo un array unidimensionale.

Per esempio,

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(arr.reshape(-1))

Produzione:

[1 2 3 4 5 6 7 8 9]
Autore: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn