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.