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รค

Esimerkki satunnaisen luomiseen Numbers kรคyttรคmรคllรค NumPyรค
Esimerkki satunnaisen luomiseen Numbers kรคyttรคmรคllรค NumPyรค

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.

Tiivistรค tรคmรค viesti seuraavasti: