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.
