logo

numpy.reshape() Pythonissa

Numpy.reshape()-funktio on saatavilla NumPy-paketissa. Kuten nimestä voi päätellä, reshape tarkoittaa 'muodonmuutoksia'. Numpy.reshape()-funktio auttaa saamaan taulukolle uuden muodon muuttamatta sen tietoja.

Joskus meidän on muokattava tiedot leveästä pitkäksi. Joten tässä tilanteessa meidän on muotoiltava taulukko uudelleen käyttämällä reshape()-funktiota.

Syntaksi

 numpy.reshape(arr, new_shape, order='C') 

Parametrit

Reshape()-funktiolla on seuraavat parametrit:

1) arr: array_like

Tämä on ndarray. Tämä on lähdetaulukko, jonka haluamme muotoilla uudelleen. Tämä parametri on olennainen ja sillä on tärkeä rooli numpy.reshape()-funktiossa.

java lukea csv-tiedostoa

2) new_shape: int tai tuple of ints

Muodon, johon haluamme muuntaa alkuperäisen taulukon, tulee olla yhteensopiva alkuperäisen taulukon kanssa. Jos kokonaisluku, tuloksena on tämän pituinen 1-D-taulukko. Yksi muotomitta voi olla -1. Tässä arvo on likimääräinen taulukon pituudella ja jäljellä olevilla mitoilla.

3) järjestys: {'C', 'F', 'A'}, valinnainen

Näillä indeksien järjestysparametrilla on ratkaiseva rooli reshape()-funktiossa. Näitä indeksijärjesyksiä käytetään lähdetaulukon elementtien lukemiseen ja elementtien sijoittamiseen uudelleen muotoiltuun taulukkoon tätä indeksijärjestystä käyttämällä.

  1. Indeksijärjestys 'C' tarkoittaa niiden elementtien lukemista/kirjoittamista, jotka käyttävät C-tyyppistä indeksijärjestystä, jossa viimeinen akseliindeksi muuttuu nopeimmin, takaisin ensimmäisen akselin indeksiin, joka muuttuu hitain.
  2. Indeksijärjestys 'F' tarkoittaa niiden elementtien lukemista/kirjoittamista, jotka käyttävät Fortran-tyyppistä indeksijärjestystä, jossa viimeisen akselin indeksi muuttuu hitain ja ensimmäisen akselin indeksi muuttuu nopeimmin.
  3. C- ja F-järjestys ei ota huomioon taustalla olevan taulukon muistiasettelua ja viittaa vain indeksointijärjestykseen.
  4. Indeksijärjestys 'A' tarkoittaa elementtien lukemista/kirjoittamista Fortran-tyyppisessä indeksijärjestyksessä, kun arr on vierekkäinen muistissa, muuten käytä C-tyyppistä järjestystä.

Palauttaa

Tämä funktio palauttaa ndarray-arvon. Se on uusi näkymäobjekti, jos mahdollista; muuten siitä tulee kopio. Palautetun taulukon muistiasettelusta ei ole takeita.

Esimerkki 1: C-tyyppinen indeksijärjestys

 import numpy as np x=np.arange(12) y=np.reshape(x, (4,3)) x y 

Lähtö:

 array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) 

Yllä olevassa koodissa

  • Olemme tuoneet numpyn aliasnimellä np.
  • Olemme luoneet taulukon 'a' käyttämällä np.arrange()-funktiota.
  • Olemme ilmoittaneet muuttujan 'y' ja määrittäneet palautetun arvon np.reshape()-funktiolle.
  • Olemme läpäisseet taulukon 'x' ja muodon funktiossa.
  • Lopuksi yritimme tulostaa arr:n arvon.

Tulosteessa matriisi on esitetty kolmena rivinä ja neljänä sarakkeena.

Esimerkki 2: Vastaa C ravel ja sitten C reshape

 import numpy as np x=np.arange(12) y=np.reshape(np.ravel(x),(3,4)) x y 

Ravel()-funktiota käytetään yhtenäisen litteän taulukon luomiseen. Palautetaan yksiulotteinen taulukko, joka sisältää syötteen elementit. Kopio tehdään vain silloin, kun sitä tarvitaan.

pyöreä matematiikka java

Lähtö:

 array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) 

Esimerkki 3: Fortran-tyyppinen indeksijärjestys

 import numpy as np x=np.arange(12) y=np.reshape(x, (4, 3), order='F') x y 

Lähtö:

 array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) array([[ 0, 4, 8], [ 1, 5, 9], [ 2, 6, 10], [ 3, 7, 11]]) 

Yllä olevassa koodissa

  • Olemme tuoneet numpyn aliasnimellä np.
  • Olemme luoneet taulukon 'a' käyttämällä np.arrange()-funktiota.
  • Olemme ilmoittaneet muuttujan 'y' ja määrittäneet funktion np.reshape() palautetun arvon.
  • Olemme läpäisseet taulukon 'x' sekä muodon ja Fortranin kaltaisen indeksijärjestyksen funktiossa.
  • Lopuksi yritimme tulostaa arr:n arvon.

Tulosteessa matriisi on esitetty neljänä rivinä ja kolmena sarakkeena.

Esimerkki 4: Fortran-tyyppinen indeksijärjestys

 import numpy as np x=np.arange(12) y=np.reshape(np.ravel(x, order='F'), (4, 3), order='F') x y 

Lähtö:

 array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) array([[ 0, 4, 8], [ 1, 5, 9], [ 2, 6, 10], [ 3, 7, 11]]) 

Esimerkki 5: Määrittämättömäksi arvoksi päätellään 2

 import numpy as np x=np.arange(12) y=np.reshape(x, (2, -1)) x y 

Yllä olevassa koodissa

  • Olemme tuoneet numpyn aliasnimellä np.
  • Olemme luoneet taulukon 'a' käyttämällä np.arrange()-funktiota.
  • Olemme ilmoittaneet muuttujan 'y' ja määrittäneet palautetun arvon np.reshape()-funktiolle.
  • Olemme ohittaneet taulukon 'x' ja muodon (määrittämätön arvo) funktiossa.
  • Lopuksi yritimme tulostaa arr:n arvon.

Tulosteessa matriisi on esitetty kahdella rivillä ja viidellä sarakkeella.

Lähtö:

 array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) array([[ 0, 1, 2, 3, 4, 5], [ 6, 7, 8, 9, 10, 11]])