logo

NumPy Array Pythonissa

Python-luettelot korvaavat taulukot, mutta ne eivät tarjoa vaadittua suorituskykyä suuria numeerisia tietoja laskettaessa.

Tämän ongelman ratkaisemiseksi käytämme NumPy-kirjasto Pythonista. NumPy tarjoaa matriisiobjektin nimeltä ndarray . Ne ovat samanlaisia ​​kuin tavalliset Python-sekvenssit, mutta eroavat tietyistä avaintekijöistä.



Mikä on NumPy-taulukko?

NumPy-taulukko on moniulotteinen tietorakenne, joka on Pythonin tieteellisen laskennan ydin.

Kaikki taulukon arvot ovat homogeenisia (samaa tietotyyppiä).

Ne tarjoavat automaattisen vektoroinnin ja lähetyksen.



Ne tarjoavat tehokkaan muistinhallinnan, ufuncs-toiminnot (universaalit toiminnot), tukevat erilaisia ​​tietotyyppejä ja ovat joustavia indeksoinnin ja viipaloinnin kanssa.

Mitat taulukoissa

NumPy-taulukoilla voi olla useita ulottuvuuksia, jolloin käyttäjät voivat tallentaa tietoja monikerroksisiin rakenteisiin.

Taulukon mitat:



Nimi Esimerkki
0D (nollaulotteinen) Skalaari - Yksi elementti
1D (yksiulotteinen) Vector- luettelo kokonaisluvuista.
2D (kaksiulotteinen) Matriisi - Tietojen laskentataulukko
3D (kolmiulotteinen) Tensori – värikuvan tallentaminen

Luo Array Object

NumPy-taulukon objektit antavat meille mahdollisuuden työskennellä taulukoiden kanssa Pythonissa. Taulukkoobjektia kutsutaan ndarray .

NumPy-kirjaston array()-funktio luo ndarray-funktion.

Python 3




ahma vs mäyrä
import> numpy as np> arr>=> np.array([>1>,>2>,>3>,>4>,>5>,>6>])>

bellfordin algoritmi
>

>

Lähtö

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

Voimme myös luoda NumPy-taulukon käyttämällä Listaa ja Tuplea.

Luo NumPy-taulukko luettelosta

Voit käyttää np-aliasta a:n ndarray:n luomiseen lista käyttämällä array()-menetelmää.

li = [1,2,3,4] numpyArr = np.array(li)>

tai

numpyArr = np.array([1,2,3,4])>

Lista välitetään array()-metodille, joka sitten palauttaa taulukon, jossa on samat elementit.

Esimerkki 1: Seuraava esimerkki näyttää kuinka alustaa taulukko luettelosta.

Python 3




matriisin viipalointi java

import> numpy as np> > li>=> [>1>,>2>,>3>,>4>]> numpyArr>=> np.array(li)> print>(numpyArr)>

>

>

Lähtö:

[1 2 3 4]>

Tuloksena oleva taulukko näyttää samalta kuin luettelo, mutta on NumPy-objekti.

Esimerkki 2: Otetaan esimerkki tarkistaaksesi, onko numpyArr NumPy-objekti vai ei. Tässä esimerkissä käytämme array()-funktiota luettelon muuntamiseen NumPy-taulukoksi ja tarkistamme sitten, onko se NumPy-objekti vai ei.

Python 3




import> numpy as np> > li>=> [>1>,>2>,>3>,>4>]> numpyArr>=> np.array(li)> > print>(>'li ='>, li,>'and type(li) ='>,>type>(li))> print>(>'numpyArr ='>, numpyArr,>'and type(numpyArr) ='>,>type>(numpyArr))>

>

>

Lähtö:

li = [1, 2, 3, 4] and type(li) = numpyArr = [1 2 3 4] and type(numpyArr) =>

Kuten näette, li on luetteloobjekti, kun taas numpyArr on NumPyn jonoobjekti.

Luo NumPy-taulukko Tuplesta

Voit tehdä ndarraya a monikko käyttämällä samanlaista syntaksia.

tup = (1,2,3,4) numpyArr = np.array(tup)>

tai

numpyArr = np.array((1,2,3,4))>

Seuraava esimerkki havainnollistaa taulukon luomista monikkosta. Tässä käytämme array()-funktiota muuntamaan monikko NumPy-taulukoksi.

Python 3


taulukko reagoi



import> numpy as np> > tup>=> (>1>,>2>,>3>,>4>)> numpyArr>=> np.array(tup)> > print>(>'tup ='>, tup,>'and type(tup) ='>,>type>(tup))> print>(>'numpyArr ='>, numpyArr,>'and type(numpyArr) ='>,>type>(numpyArr))>

>

>

Lähtö:

tup = (1, 2, 3, 4) and type(tup) = numpyArr = [1 2 3 4] and type(numpyArr) =>

Huomaa, että numpyArr-arvo pysyy samana molemmissa kahdessa konversiossa.

NumPy-taulukot vs sisäänrakennetut Python-sekvenssit

  • Toisin kuin luettelot, taulukot ovat kiinteän kokoisia, ja taulukon koon muuttaminen johtaa uuden taulukon luomiseen, kun taas alkuperäinen taulukko poistetaan.
  • Kaikki taulukon elementit ovat samaa tyyppiä.
  • Taulukot ovat nopeampia, tehokkaampia ja vaativat vähemmän syntaksia kuin tavalliset Python-sekvenssit.

Huomautus: Useat tieteelliset ja matemaattiset Python-pohjaiset paketit käyttävät Numpya. Ne saattavat ottaa syötteen sisäänrakennettuna Python-sekvenssinä, mutta ne todennäköisesti muuntavat tiedot NumPy-taulukoksi nopeamman käsittelyn saavuttamiseksi. Tämä selittää tarpeen ymmärtää NumPy.

Miksi Numpy Array on niin nopea?

Numpy-taulukot kirjoitetaan enimmäkseen C-kieli . C-kielellä kirjoitettuina taulukot tallennetaan vierekkäisiin muistipaikkoihin, mikä tekee niistä saavutettavia ja helpompia käsitellä. Tämä tarkoittaa, että saat C-koodin suorituskykytason helposti kirjoittamalla Python-ohjelman.

miten merkkijono muunnetaan merkiksi
  1. Homogeeninen data: Taulukot tallentavat saman tietotyypin elementtejä, mikä tekee niistä luetteloita kompaktimpia ja muistitehokkaampia.
  2. Kiinteä tietotyyppi: Matriiseilla on kiinteä tietotyyppi, mikä vähentää muistin kuormitusta poistamalla tarpeen tallentaa tyyppitietoja jokaisesta elementistä.
  3. Vierekkäinen muisti: Taulukot tallentavat elementtejä vierekkäisiin muistipaikkoihin, mikä vähentää pirstoutumista ja mahdollistaa tehokkaan käytön.
numpyarray

Numpy Array -muistin varaus

Jos sinulla ei ole NumPyä asennettuna järjestelmääsi, voit tehdä sen noudattamalla näitä ohjeita. NumPyn asentamisen jälkeen voit tuoda sen ohjelmaan näin

import numpy as np>

Huomautus: Tässä np on NumPyn yleisesti käytetty alias.

Tietojen allokointi Numpy Arrayssa

NumPyssä tiedot allokoidaan peräkkäin muistissa noudattaen hyvin määriteltyä asettelua, joka koostuu tietopuskurista, muodosta ja askelista. Tämä on välttämätöntä tehokkaan datan käytön, vektorisoitujen toimintojen ja yhteensopivuuden kannalta matalan tason kirjastojen, kuten BLAS ja LAPACK .

  1. Datapuskuri: NumPyn datapuskuri on yksi, litteä muistilohko, joka tallentaa taulukon todelliset elementit sen mitoituksesta riippumatta. Tämä mahdollistaa tehokkaan elementtikohtaisen toiminnan ja tiedonsaannin.
  2. Muoto: Taulukon muoto on kokonaislukujen monikko, joka edustaa mittoja kutakin akselia pitkin. Jokainen kokonaisluku vastaa taulukon kokoa tietyllä ulottuvuudella, mikä määrittää elementtien määrän jokaisella akselilla ja on olennainen taulukon oikean indeksoinnin ja uudelleenmuotoilun kannalta.
  3. Askeleita: Strides ovat kokonaislukujen monikkoa, jotka määrittävät kussakin ulottuvuudessa askeltavien tavujen määrän, kun siirrytään elementistä toiseen. Ne määrittävät muistin elementtien väliset etäisyydet ja mittaavat, kuinka monta tavua tarvitaan liikkumaan elementistä toiseen kussakin ulottuvuudessa.

2

Johtopäätös

NumPy-taulukko Pythonissa on erittäin hyödyllinen tietorakenne ja sen avulla voimme suorittaa datalle erilaisia ​​tieteellisiä operaatioita. Se on erittäin muistitehokas tietorakenne ja tarjoaa monia etuja muihin Python-sekvensseihin verrattuna.

Tässä opetusohjelmassa olemme selittäneet NumPy-taulukoita yksityiskohtaisesti. Olemme käsitelleet määritelmää, ulottuvuuksia, miksi se on nopeaa ja kuinka tietojen allokointi toimii taulukossa. Tämän opetusohjelman suorittamisen jälkeen saat täydellisen syvällisen tuntemuksen NumPy-taulukosta ja pystyt toteuttamaan sen Python-projekteissasi.