Python NumPy-opastus aloittelijoille: Opi esimerkkien avulla
Mitä NumPy sisältää Python?
nuhjuinen on avoimen lähdekoodin kirjasto, joka on saatavilla osoitteessa Python, joka auttaa matemaattisessa, tieteellisessä, tekniikan ja datatieteen ohjelmoinnissa. Se on erittäin hyödyllinen kirjasto matemaattisten ja tilastollisten operaatioiden suorittamiseen Python. Se toimii täydellisesti moniulotteisille taulukoille ja matriisikertolle. Se on helppo integroida C/C++ ja Fortran.
Kaikissa tieteellisissä projekteissa NumPy on työkalu tietää. Se on rakennettu toimimaan N-ulotteisen taulukon, lineaarialgebran, satunnaisluvun, Fourier-muunnoksen jne. kanssa.
NumPy on ohjelmointikieli, joka käsittelee moniulotteisia taulukoita ja matriiseja. Matriisien ja matriisien lisäksi NumPy tukee useita matemaattisia operaatioita. Tässä osassa käymme läpi keskeiset toiminnot, jotka sinun on tiedettävä '-opetusohjelmaa vartenTensorFlow. "
Miksi käyttää NumPyä?
NumPy on muistitehokas, mikä tarkoittaa, että se pystyy käsittelemään valtavan määrän dataa helpommin kuin mikään muu kirjasto. Lisäksi NumPy on erittäin kätevä työskennellä varsinkin matriisin kertomisessa ja uudelleenmuokkauksessa. Kaiken lisäksi NumPy on nopea. Itse asiassa TensorFlow ja Scikit oppivat käyttämään NumPy-taulukkoa matriisin kertolaskujen laskemiseen taustapäässä.
Kuinka asentaa NumPy
Voit asentaa NumPy-kirjaston opetusohjelmassamme Kuinka asentaa TensorFlow. NumPy asennetaan oletuksena Anacondan kanssa.
Etätapauksessa NumPyä ei ole asennettu -
Voit asentaa NumPyn Anacondan avulla:
conda install -c anaconda numpy
- In Jupyter Muistikirja :
import sys !conda install --yes --prefix {sys.prefix} numpy
Tuo NumPy ja tarkista versio
Numpy-tuontikomento on:
import numpy as np
Yllä oleva koodi nimeää Numpy-nimitilan uudelleen muotoon np. Tämä antaa meille mahdollisuuden liittää Numpy-funktion, menetelmien ja attribuuttien eteen "np" sen sijaan, että kirjoittaisit "numpy". Se on tavallinen pikakuvake, jonka löydät numppaavasta kirjallisuudesta
Tarkista asennettu NumPy-versio käyttämällä alla olevaa komentoa:
print (np.__version__)
lähtö:
1.18.0
Mikä on Python NumPy Array?
NumPy-taulukot ovat vähän samanlaisia Python luetteloita, mutta silti hyvin erilaisia samaan aikaan. Selvitetään teille, jotka ovat uusia aiheen parissa, mikä se tarkalleen on ja mihin se sopii.
Kuten nimestä käy ilmi, NumPy-taulukko on numpy-kirjaston keskeinen tietorakenne. Kirjaston nimi on itse asiassa lyhenne sanoista "Numeric Python” tai ”Numero Python".
NumPy-taulukon luominen
Yksinkertaisin tapa luoda taulukko Numpyssa on käyttää Python Lista
myPythonList = [1,9,8,3]
Python-listan muuntaminen numpy-taulukoksi käyttämällä objektia np.array.
numpy_array_from_list = np.array(myPythonList)
Listan sisällön näyttäminen
numpy_array_from_list
lähtö:
array([1, 9, 8, 3])
Käytännössä ei tarvitse ilmoittaa a Python Lista. Toimenpide voidaan yhdistää.
a = np.array([1,9,8,3])
HUOMAUTUS: Numpy dokumentaatio ilmoittaa np.ndarray:n käytön taulukon luomiseen. Tämä on kuitenkin suositeltu menetelmä.
Voit myös luoda numpy-taulukon Tuplesta.
matemaattinen Operaryhmiä
Voit suorittaa taulukossa matemaattisia operaatioita, kuten yhteen-, vähennys-, jako- ja kertolaskutoimia. Syntaksi on taulukon nimi, jota seuraa operaatio (+.-,*,/), jota seuraa operandi
Esimerkiksi:
numpy_array_from_list + 10
lähtö:
array([11, 19, 18, 13])
Tämä operaatio lisää 10 jokaiseen numpy-taulukon elementtiin.
Arrayn muoto
Voit tarkistaa taulukon muodon objektimuodolla, jota edeltää taulukon nimi. Samalla tavalla voit tarkistaa tyypin dtypesillä.
import numpy as np a = np.array([1,2,3]) print(a.shape) print(a.dtype) (3,) int64
Kokonaisluku on arvo ilman desimaaleja. Jos luot taulukon desimaalilla, tyypiksi vaihtuu kelluva.
#### Different type b = np.array([1.1,2.0,3.2]) print(b.dtype) float64
2 Dimension Array
Voit lisätä mittasuhteen ","-koomalla
Huomaa, että sen on oltava suluissa []
### 2 dimension c = np.array([(1,2,3), (4,5,6)]) print(c.shape) (2, 3)
3 Dimension Array
Korkeampi ulottuvuus voidaan rakentaa seuraavasti:
### 3 dimension d = np.array([ [[1, 2,3], [4, 5, 6]], [[7, 8,9], [10, 11, 12]] ]) print(d.shape) (2, 2, 3)
Tavoite | Koodi |
---|---|
Luo joukko | array([1,2,3]) |
tulosta muoto | array([.]).muoto |
Mikä on numpy.zeros()?
numpy.zeros() tai np.nollat Python -funktiota käytetään luomaan nollia täynnä oleva matriisi. numpy.zeros() in Python voidaan käyttää, kun alustat painot TensorFlow'n ensimmäisen iteraation ja muiden tilastotehtävien aikana.
numpy.zeros()-funktio Syntaksi
numpy.zeros(shape, dtype=float, order='C')
Python numpy.zeros() Parametrit
Täällä
- Muoto: on numpyn nollataulukon muoto
- Dtyyppi: on tietotyyppi numpy nollia. Se on valinnainen. Oletusarvo on float64
- Tilaus: Oletus on C, joka on numpy.zeros() in:n olennainen rivityyli Python.
Python numpy.zeros() Esimerkki
import numpy as np np.zeros((2,2))
lähtö:
array([[0., 0.], [0., 0.]])
Esimerkki numpy-nollasta tietotyypin kanssa
import numpy as np np.zeros((2,2), dtype=np.int16)
lähtö:
array([[0, 0], [0, 0]], dtype=int16)
Mikä on numpy.ones()?
np.ones()-funktio käytetään luomaan matriisi, joka on täynnä niitä. numpy.ones() in Python voidaan käyttää, kun alustat painot TensorFlow'n ensimmäisen iteraation ja muiden tilastotehtävien aikana.
Python numpy.ones() Syntaksi
numpy.ones(shape, dtype=float, order='C')
Python numpy.ones() Parametrit
Täällä
- Muoto: on np.onien muoto Python Ryhmä
- Dtyyppi: on tietotyyppi numpyissa. Se on valinnainen. Oletusarvo on float64
- Tilaus: Oletus on C, joka on olennainen rivityyli.
Python numpy.ones() 2D-taulukko tietotyypin esimerkillä
import numpy as np np.ones((1,2,3), dtype=np.int16)
lähtö:
array([[[1, 1, 1], [1, 1, 1]]], dtype=int16)
numpy.reshape()-funktio sisään Python
Python NumPy Reshape -funktiota käytetään taulukon muokkaamiseen muuttamatta sen tietoja. Joissakin tapauksissa saatat joutua muuttamaan tiedot leveästä pitkiksi. Voit käyttää tähän funktiota np.reshape.
np.reshape() syntaksi
numpy.reshape(a, newShape, order='C')
Täällä
a: Matriisi, jonka haluat muotoilla uudelleen
uusi muoto: Uudet halut muotoutuvat
Tilaus: Oletus on C, joka on olennainen rivityyli.
Esimerkki NumPy Reshapesta
import numpy as np e = np.array([(1,2,3), (4,5,6)]) print(e) e.reshape(3,2)
lähtö:
// Before reshape [[1 2 3] [4 5 6]]
//After Reshape array([[1, 2], [3, 4], [5, 6]])
numpy.flatten() in Python
Python NumPy Flatten -funktiota käytetään palauttamaan taulukon kopio yksiulotteisena. Kun käsittelet jotain hermoverkkoa, kuten convnet, sinun on tasoitettava taulukko. Voit käyttää tähän funktioita np.flatten().
np.flatten() syntaksi
numpy.flatten(order='C')
Täällä
Tilaus: Oletus on C, joka on olennainen rivityyli.
Esimerkki NumPy Flattenista
e.flatten()
lähtö:
array([1, 2, 3, 4, 5, 6])
Mikä on numpy.hstack() in Python?
Numpy.hstack on toiminto sisällä Python jota käytetään pinoamaan vaakasuunnassa syötetaulukoiden sarjoja yhden taulukon muodostamiseksi. Hstack()-funktiolla voit liittää tietoja vaakasuunnassa. Se on erittäin kätevä toiminto NumPyssa.
Tutkitaan hstack in Python esimerkin kanssa:
Esimerkiksi:
## Horitzontal Stack import numpy as np f = np.array([1,2,3]) g = np.array([4,5,6]) print('Horizontal Append:', np.hstack((f, g)))
lähtö:
Horizontal Append: [1 2 3 4 5 6]
Mikä on numpy.vstack() in Python?
Numpy.vstack on toiminto sisällä Python jota käytetään pinoamaan syöttötaulukoiden sekvenssit pystysuoraan yhden taulukon muodostamiseksi. Vstack()-funktiolla voit liittää tietoja pystysuunnassa.
Tutkitaanpa sitä esimerkillä:
Esimerkiksi:
## Vertical Stack import numpy as np f = np.array([1,2,3]) g = np.array([4,5,6]) print('Vertical Append:', np.vstack((f, g)))
lähtö:
Vertical Append: [[1 2 3] [4 5 6]]
Kun olet tutkinut NumPy vstackin ja hstackin, opitaan esimerkki satunnaislukujen luomisesta NumPyssä.
Luo satunnainen Numbers käyttämällä NumPyä
Luodaksesi satunnaislukuja Gaussin jakaumaan, käytä:
numpy.random.normal(loc, scale, size)
Täällä
- Loc: ilkeät. Jakelun keskus
- Asteikko: keskihajonta.
- Koko: palautusten määrä
Esimerkiksi:
## Generate random nmber from normal distribution normal_array = np.random.normal(5, 0.5, 10) print(normal_array) [5.56171852 4.84233558 4.65392767 4.946659 4.85165567 5.61211317 4.46704244 5.22675736 4.49888936 4.68731125]
Jos jakauma piirretään, se on samanlainen kuin seuraava käyrä
NumPy Asarray-funktio
Asarray()-funktiota käytetään, kun haluat muuntaa syötteen taulukoksi. Syöte voi olla lists, tuple, ndarray jne.
Syntaksi:
numpy.asarray(data, dtype=None, order=None)[source]
Täällä
tiedot: Tiedot, jotka haluat muuntaa taulukoksi
dtype: Tämä on valinnainen argumentti. Jos sitä ei ole määritetty, tietotyyppi päätellään syöttötiedoista
Tilaus: Oletus on C, joka on olennainen rivityyli. Toinen vaihtoehto on F (Fortan-tyylinen)
Esimerkiksi:
Tarkastellaan seuraavaa 2-D-matriisia, jossa on neljä riviä ja neljä saraketta, jotka on täytetty luvulla 1
import numpy as np A = np.matrix(np.ones((4,4)))
Jos haluat muuttaa matriisin arvoa, et voi. Syynä on, että kopiota ei ole mahdollista muuttaa.
np.array(A)[2]=2 print(A) [[1. 1. 1. 1.] [1. 1. 1. 1.] [1. 1. 1. 1.] [1. 1. 1. 1.]]
Matriisi on muuttumaton. Voit käyttää asarraya, jos haluat lisätä alkuperäiseen taulukkoon muutoksia. Katsotaan tapahtuuko muutoksia, kun haluat muuttaa kolmansien rivien arvoa arvolla 2.
np.asarray(A)[2]=2 print(A)
Koodin selitys:
np.asarray(A): muuntaa matriisin A taulukoksi
[2]: valitse kolmannet rivit
lähtö:
[[1. 1. 1. 1.] [1. 1. 1. 1.] [2. 2. 2. 2.] # new value [1. 1. 1. 1.]]
Mikä on numpy.arange()?
numpy.arange() on sisäänrakennettu numpy-funktio, joka palauttaa ndarray-objektin, joka sisältää tasavälein arvoja tietyllä aikavälillä. Haluat esimerkiksi luoda arvoja väliltä 1-10; voit käyttää np.arange() in Python toiminto.
Syntaksi:
numpy.arange(start, stop, step, dtype)
Python NumPy-asetusparametrit:
- Aloita: np.arange in -välin alku Python toiminto.
- stop: Väliajan loppu.
- Vaihe: Arvojen väli. Oletusaskel on 1.
- Dtyyppi: On eräänlainen taulukon tuloste NumPy-asetukselle Python.
Esimerkiksi:
import numpy np np.arange(1, 11)
lähtö:
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
Esimerkiksi:
Jos haluat muuttaa tämän NumPy-asetelmafunktion vaihetta sisään Python Voit esimerkiksi lisätä kolmannen numeron sulkeisiin. Se muuttaa vaihetta.
import numpy np np.arange(1, 14, 4)
lähtö:
array([ 1, 5, 9, 13])
NumPy Linspace Function
Linspace antaa tasaisin välein näytteitä.
Syntaksi:
numpy.linspace(start, stop, num, endpoint)
Täällä
- Aloita: Jakson aloitusarvo
- stop: Jakson loppuarvo
- Sisään: Luotavien näytteiden määrä. Oletusarvo on 50
- päätepiste: Jos True (oletus), stop on viimeinen arvo. Jos False, stop-arvoa ei sisällytetä.
Esimerkiksi:
Sitä voidaan käyttää esimerkiksi luomaan 10 arvoa 1-5 tasaisin välein.
import numpy as np np.linspace(1.0, 5.0, num=10)
lähtö:
array([1. , 1.44444444, 1.88888889, 2.33333333, 2.77777778, 3.22222222, 3.66666667, 4.11111111, 4.55555556, 5. ])
Jos et halua sisällyttää välin viimeistä numeroa, voit asettaa päätepisteen arvoksi false
np.linspace(1.0, 5.0, num=5, endpoint=False)
lähtö:
array([1. , 1.8, 2.6, 3.4, 4.2])
LogSpace NumPy -funktio sisään Python
LogSpace palauttaa parilliset numerot lokiasteikolla. Lokitilalla on samat parametrit kuin np.linspacella.
Syntaksi:
numpy.logspace(start, stop, num, endpoint)
Esimerkiksi:
np.logspace(3.0, 4.0, num=4)
lähtö:
array([ 1000. , 2154.43469003, 4641.58883361, 10000. ])
Lopuksi, jos haluat tarkistaa taulukon elementin muistikoon, voit käyttää itemsize-toimintoa
x = np.array([1,2,3], dtype=np.complex128) x.itemsize
lähtö:
16
Jokainen elementti vie 16 tavua.
Indeksointi ja leikkaaminen Python
Tietojen viipalointi on triviaalia ja numpy. Leikkaamme matriisin "e". Huomaa, että sisään Python, sinun on palautettava rivit tai sarakkeet hakasulkeilla
Esimerkiksi:
## Slice import numpy as np e = np.array([(1,2,3), (4,5,6)]) print(e) [[1 2 3] [4 5 6]]
Muista, että numpylla ensimmäinen taulukko/sarake alkaa nollasta.
## First column print('First row:', e[0]) ## Second col print('Second row:', e[1])
lähtö:
First row: [1 2 3] Second row: [4 5 6]
In Python, kuten monet muut kielet,
- Arvot ennen pilkkua tarkoittavat rivejä
- Oikeuksien arvo tarkoittaa sarakkeita.
- Jos haluat valita sarakkeen, sinun on lisättävä : ennen sarakeindeksiä.
- : tarkoittaa, että haluat kaikki rivit valitusta sarakkeesta.
print('Second column:', e[:,1])
Second column: [2 5]
Palauttaa toisen rivin kaksi ensimmäistä arvoa. Käytä : valitaksesi kaikki sarakkeet sekuntiin asti
## Second Row, two values print(e[1, :2]) [4 5]
Tilastofunktiot sisään Python
NumPyllä on useita hyödyllisiä tilastofunktioita minimi-, maksimi-, prosenttipisteen keskihajonnan ja varianssin jne. löytämiseksi taulukon annetuista elementeistä. Toiminnot selitetään seuraavasti −
Numpy on varustettu alla luetellulla vankalla tilastotoiminnolla
Toiminto | Nöpö |
---|---|
Min | np.min() |
max | np.max() |
Mean | np.mean() |
Mediaani | np.mediaan() |
Keskihajonta | np.std() |
Harkitse seuraavaa taulukkoa:
Esimerkiksi:
import numpy as np normal_array = np.random.normal(5, 0.5, 10) print(normal_array)
lähtö:
[5.56171852 4.84233558 4.65392767 4.946659 4.85165567 5.61211317 4.46704244 5.22675736 4.49888936 4.68731125]
Esimerkki NumPy-tilastofunktiosta
### Min print(np.min(normal_array)) ### Max print(np.max(normal_array)) ### Mean print(np.mean(normal_array)) ### Median print(np.median(normal_array)) ### Sd print(np.std(normal_array))
lähtö:
4.467042435266913 5.612113171990201 4.934841002270593 4.846995625786663 0.3875019367395316
Mikä on numpy dot -tuote?
Numpy.dot tuote on tehokas kirjasto matriisilaskentaa varten. Voit esimerkiksi laskea pistetulon komennolla np.dot. Numpy.dot -tulo on a:n ja b:n pistetulo. numpy.dot() in Python käsittelee 2D-taulukoita ja suorittaa matriisikertoja.
Syntaksi:
numpy.dot(x, y, out=None)
parametrit
Täällä
x, y: Tulotaulukot. x:n ja y:n tulee olla 1-D tai 2-D, jotta np.dot()-funktio toimisi
ulos: Tämä on tulosargumentti 1-D-taulukon skalaarille, joka palautetaan. Muuten ndarray tulee palauttaa.
Palautukset
Funktio numpy.dot() in Python palauttaa kahden taulukon x ja y pistetulon. Dot()-funktio palauttaa skalaarin, jos sekä x että y ovat 1-D; muussa tapauksessa se palauttaa taulukon. Jos "out" annetaan, se palautetaan.
korotusten
Piste tuote sisään Python aiheuttaa ValueError-poikkeuksen, jos x:n viimeinen ulottuvuus ei ole samankokoinen kuin y:n toiseksi viimeinen ulottuvuus.
Esimerkiksi:
## Linear algebra ### Dot product: product of two arrays f = np.array([1,2]) g = np.array([4,5]) ### 1*4+2*5 np.dot(f, g)
lähtö:
14
Matriisikertoin Python
Numpy matmul() -funktiota käytetään palauttamaan kahden taulukon matriisitulo. Näin se toimii
1) 2-D-taulukot, se palauttaa normaalin tuotteen
2) Mitat > 2, tuotetta käsitellään matriisin pinona
3) 1-D-taulukko nostetaan ensin matriisiksi ja sitten tulo lasketaan
Syntaksi:
numpy.matmul(x, y, out=None)
Täällä
x, y: Tulotaulukot. skalaarit eivät ole sallittuja
ulos: Tämä on valinnainen parametri. Yleensä tuloste tallennetaan ndarrayiin
Esimerkiksi:
Samalla tavalla voit laskea matriisien kertolaskua komennolla np.matmul
### Matmul: matruc product of two arrays h = [[1,2],[3,4]] i = [[5,6],[7,8]] ### 1*5+2*7 = 19 np.matmul(h, i)
lähtö:
array([[19, 22], [43, 50]])
määräävä tekijä
Viimeisenä mutta ei vähäisimpänä, jos sinun on laskettava determinantti, voit käyttää np.linalg.det(). Huomaa, että numpy huolehtii mitat.
Esimerkiksi:
## Determinant 2*2 matrix ### 5*8-7*6np.linalg.det(i)
lähtö:
-2.000000000000005
Yhteenveto
- Python on avoimen lähdekoodin kirjasto, joka on saatavilla osoitteessa Python, joka auttaa matemaattisissa, tieteellisissä, tekniikan ja datatieteen ohjelmointi.
- numpy.zeros() tai np.zeros Python -funktiota käytetään luomaan nollia täynnä oleva matriisi.
- numpy.ones() in Python voidaan käyttää, kun alustat painot TensorFlow'n ensimmäisen iteraation ja muiden tilastotehtävien aikana.
- Python NumPy Reshape -funktiota käytetään taulukon muokkaamiseen muuttamatta sen tietoja.
- Python NumPy Flatten -funktiota käytetään palauttamaan taulukon kopio yksiulotteisena.
- Numpy.hstack on funktio sisällä Python jota käytetään pinoamaan vaakasuunnassa syötetaulukoiden sarjoja yhden taulukon muodostamiseksi.
- Numpy.vstack on funktio Python jota käytetään pinoamaan syöttötaulukoiden sekvenssit pystysuoraan yhden taulukon muodostamiseksi.
- numpy.arange() on sisäänrakennettu numpy-funktio, joka palauttaa ndarray-objektin, joka sisältää tasavälein arvoja määritetyllä aikavälillä.
- Numpy.dot-tuote on tehokas kirjasto matriisilaskentaa varten.
- Numpy matmul() -funktiota käytetään palauttamaan kahden taulukon matriisitulo.