La funzione reshape() di python

Nel linguaggio python la funzione/metodo reshape del modulo numpy mi permette di modificare la dimensione, il numero delle righe e delle colonne di un array.

reshape(nome,d)

oppure come metodo

nome.reshape(d)

  • Il nome è la variabile array da trasformare. Può trattarsi di un vettore o di una matrice.
  • L'argomento d indica le nuove dimensioni dell'array

La funzione reshape trasforma il vettore in una matrice multidimensionale o viceversa.

    Un esempio pratico

    Esempio da 1 dimensione a 2 dimensioni

    Creo un vettore con 9 elementi tramite la funzione ones().

    E' un array a una dimensione.

    >>> import numpy as np
    >>> m=np.ones(9)

    Il contenuto della variabile m è

    >>> m
    array([1., 1., 1., 1., 1., 1., 1., 1., 1.])

    Per trasformarlo in una matrice 3x3 uso la funzione reshape()

    >>> m=np.reshape(m,[3,3])

    Ora la variabile m è un array a due dimensioni ( righe e colonne ).

    >>> m
    array([[1., 1., 1.],
    [1., 1., 1.],
    [1., 1., 1.]])

    Avrei potuto ottenere lo stesso risultato usando reshape come metodo.

    >>> m=m.reshape([3,3])

    Il risultato è sempre lo stesso.

    Esempio da 2 dimensioni a 1 dimensione

    Ho un array a due dimensioni

    >>> m
    array([[1., 1., 1.],
    [1., 1., 1.],
    [1., 1., 1.]])

    Per trasformarlo in un array a una dimensione utilizzo reshape indicando come dimensione -1

    m=np.reshape(m,-1)

    La funzione reshape trasforma la matrice in un vettore a una dimensione.

    m
    array([1., 1., 1., 1., 1., 1., 1., 1., 1.])

    E così via.

     


     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin
    knowledge base

    Numpy

    I metodi e le funzioni