Datatiede

Kuinka käyttää Python NumPy reshape () -toimintoa

Kuinka käyttää Python NumPy reshape () -toimintoa

NumPy-kirjastolla on monia toimintoja, jotka toimivat moniulotteisen taulukon kanssa. reshape () -funktio on yksi niistä, jota käytetään muuttamaan minkä tahansa olemassa olevan taulukon muotoa muuttamatta tietoja. Muoto määrittää elementtien kokonaismäärän kussakin ulottuvuudessa.  Matriisin ulottuvuus voidaan lisätä tai poistaa, ja kussakin ulottuvuudessa olevien elementtien lukumäärää voidaan muokata käyttämällä uudelleensuunnittelu () -toimintoa. Yksiulotteinen taulukko voidaan muuntaa moniulotteiseksi taulukoksi, mutta moniulotteista taulukkoa ei voida muuttaa yksiulotteiseksi taulukoksi tällä toiminnolla. Toiminnon muokkaaminen () toimii ja sen käyttötavat selitetään tässä opetusohjelmassa.

Syntaksi

Reshape () -funktion syntakse on annettu alla.

np_array numpy.muotoilla uudelleen (np_array, new_shape, order = 'C') 

Tämä toiminto voi sisältää kolme argumenttia. Ensimmäinen ja toinen argumentti ovat pakollisia, ja kolmas argumentti on valinnainen. NumPy-taulukko on ensimmäisen argumentin arvo (np_array), joka muotoillaan uudelleen. Taulukon muoto asetetaan toiseksi argumentiksi (uusi_muoto) arvo, joka voi olla kokonaisluku tai kokonaisuusluku. Taulukon järjestys asetetaan kolmannella argumentilla (Tilaus) -arvo, jolla määritetään elementin sijainti uudelleen muotoillussa taulukossa. Kolmannen argumentin arvo voi olla 'CtaiFtaiA.'Tilauksen arvo'C'käytetään C-tyyliseen hakemistojärjestykseen, jossa viimeisen akselin indeksi muuttuu nopeammin ja ensimmäisen akselin indeksi muuttuu hitaammin. Tilauksen arvo 'F'käytetään Fortran-tyyliseen indeksitilaukseen, jossa ensimmäisen akselin indeksi muuttuu nopeammin ja viimeisen akselin indeksi muuttuu hitaammin. Molemmat 'C'ja'Ftilaukset eivät käytä muistia. Tilauksen arvo, 'A'toimii kuten'F,mutta se käyttää muistia.

Uudelleen muotoilu () -toiminnon käyttö:

Sinun on asennettava NumPy-kirjasto ennen tämän opetusohjelman esimerkkien käyttämistä. Reshape () -funktion eri käyttötarkoitukset on esitetty tämän opetusohjelman osassa.

Esimerkki 1: Muunna yksiulotteinen taulukko kaksiulotteiseksi taulukoksi

Seuraava esimerkki näyttää uudelleensuunnittelu () -toiminnon muuntaakseen yksiulotteisen NumPy-taulukon kaksiulotteiseksi NumPy-taulukoksi. arange () -funktiota käytetään komentosarjassa 10 elementin yksiulotteisen taulukon luomiseen. Ensimmäistä uudelleenmuotoilutoimintoa () käytetään muuttamaan yksiulotteinen taulukko 2 rivin ja 5 sarakkeen kaksiulotteiseksi ryhmäksi. Tässä kutsutaan muokkaus () -funktio käyttämällä moduulin nimeä, np. Toista muotoilu () -toimintoa käytetään muuttamaan yksiulotteinen taulukko 5 rivin ja 2 sarakkeen kaksiulotteiseksi ryhmäksi. Tässä uudelleensuunnittelu () -toiminto kutsutaan käyttämällä NumPy-taulukkoa nimeltä np_array.

# Tuo NumPy
tuo numerotunnus nimellä np
# Luo NumPy-aluejoukko
np_array = np.oranssi (10)
# Tulosta NumPy-taulukon arvot
print ("NumPy-taulukon arvot: \ n", np_array)
# Muuta taulukko 2 rivillä ja 5 sarakkeella
uusi_array = np.muotoilla uudelleen (np_array, (2, 5))
# Tulosta muokatut arvot
tulosta ("\ nMuokattu taulukko, jossa on 2 riviä ja 5 saraketta: \ n", new_array)
# Muotoile taulukko uudelleen 5 rivillä ja 2 sarakkeella
new_array = np_array.muotoilla uudelleen (5, 2)
# Tulosta muokatut arvot
tulosta ("\ nMuokattu taulukko, jossa on 5 riviä ja 2 saraketta: \ n", new_array)

Tuotos:

Seuraava lähtö näkyy yllä olevan komentosarjan suorittamisen jälkeen. Ensimmäinen lähtö näyttää päätaulukon. Toinen ja kolmas lähtö näyttävät muokatun taulukon.

Esimerkki 2: Muunna yksiulotteinen taulukko kolmiulotteiseksi taulukoksi

Seuraava esimerkki näyttää uudelleensuunnittelu () -toiminnon muuntaakseen yksiulotteisen NumPy-taulukon kolmiulotteiseksi NumPy-taulukoksi. array () -funktiota käytetään komentosarjassa 12-elementtisen yksiulotteisen taulukon luomiseen. reshape () -funktiota käytetään muuntamaan luotu yksiulotteinen taulukko kolmiulotteiseksi taulukoksi. Tässä uudelleensuunnittelu () -toiminto kutsutaan käyttämällä NumPy-taulukkoa nimeltä np_array.

# Tuo NumPy
tuo numerotunnus nimellä np
# Luo NumPy-taulukko luettelon avulla
np_array = np.taulukko ([7, 3, 9, 11, 4, 23, 71, 2, 32, 6, 16, 2])
# Tulosta NumPy-taulukon arvot
print ("NumPy-taulukon arvot: \ n", np_array)
# Luo kolmiulotteinen taulukko yksiulotteisesta taulukosta
new_array = np_array.muotoile uudelleen (2, 2, 3)
# Tulosta muokatut arvot
tulosta ("\ nMuokatut 3D-taulukon arvot ovat: \ n", uusi_array)

Tuotos:

Seuraava lähtö näkyy yllä olevan komentosarjan suorittamisen jälkeen. Ensimmäinen lähtö näyttää päätaulukon. Toinen lähtö näyttää muokatun taulukon.

Esimerkki 3: Muuta NumPy-taulukko uudelleen tilauksen perusteella

Seuraava esimerkki näyttää uudelleensuunnittelu () -toiminnon muuntaakseen yksiulotteisen NumPy-taulukon kaksiulotteiseksi NumPy-taulukoksi, jolla on erityyppisiä tilauksia. arange () -funktiota käytetään komentosarjassa 15-elementtisen yksiulotteisen taulukon luomiseen. Ensimmäistä muokkaus () -funktiota käytetään luomaan kaksiulotteinen taulukko, jossa on 3 riviä ja 5 saraketta C-tyylisellä järjestyksellä. Toista muotoilu () -funktiota käytetään luomaan kaksiulotteinen taulukko, jossa on 3 riviä ja 5 saraketta Fortran-tyylisellä järjestyksellä.

# Tuo NumPy
tuo numerotunnus nimellä np
# Luo NumPy-aluejoukko
np_array = np.oranssi (15)
# Tulosta NumPy-taulukon arvot
print ("NumPy-taulukon arvot: \ n", np_array)
# Muotoile taulukko uudelleen C-tyylisen järjestyksen perusteella
new_array1 = np.muotoile uudelleen (np_array, (3, 5), järjestys = 'C')
# Tulosta muokatut arvot
tulosta ("\ nMuokatut 2D-taulukon arvot, jotka perustuvat C-tyyliseen järjestykseen, ovat: \ n", new_array1)
# Muotoile taulukko uudelleen Fortran-tyylisen tilauksen perusteella
new_array2 = np.muotoile uudelleen (np_array, (3, 5), järjestys = 'F')
# Tulosta muokatut arvot
print ("\ nMuutetut 2D-taulukon arvot, jotka perustuvat Fortran-tyyliseen järjestykseen, ovat: \ n", new_array2)

Tuotos:

Seuraava lähtö näkyy yllä olevan komentosarjan suorittamisen jälkeen. Ensimmäinen lähtö näyttää tärkeimmät arvot. Toinen lähtö näyttää taulukon arvot rivipohjaisella järjestyksellä. Kolmas lähtö näyttää taulukon arvot sarakekohtaisella järjestyksellä.

Johtopäätös

Tapoja muuntaa taulukko muodosta toiseen muotoon käyttämällä reshape () -funktiota on kuvattu tässä opetusohjelmassa. Reshape () -funktion käyttötarkoitus tyhjennetään tämän opetusohjelman esimerkkien käyttämisen jälkeen, ja lukijat voivat käyttää tätä toimintoa python-komentosarjassa.

How to Develop a Game on Linux
A decade ago, not many Linux users would predict that their favorite operating system would one day be a popular gaming platform for commercial video ...
Open Source Ports of Commercial Game Engines
Free, open source and cross-platform game engine recreations can be used to play old as well as some of the fairly recent game titles. This article wi...
Parhaat komentorivipelit Linuxille
Komentorivi ei ole vain suurin liittolainen Linuxia käytettäessä - se voi olla myös viihteen lähde, koska voit käyttää sitä pelaamaan monia hauskoja p...