Python NumPy-veiledning for nybegynnere: Lær med eksempler
Hva er NumPy i Python?
nusset er et åpen kildekode-bibliotek tilgjengelig i Python, som hjelper til med matematisk, vitenskapelig, ingeniør- og datavitenskapelig programmering. Det er et veldig nyttig bibliotek å utføre matematiske og statistiske operasjoner i Python. Det fungerer perfekt for flerdimensjonale arrays og matrisemultiplikasjon. Det er enkelt å integrere med C/C++ og Fortran.
For ethvert vitenskapelig prosjekt er NumPy verktøyet å vite. Den er bygget for å fungere med N-dimensjonal matrise, lineær algebra, tilfeldig tall, Fourier-transformasjon, etc.
NumPy er et programmeringsspråk som omhandler flerdimensjonale matriser og matriser. På toppen av matrisene og matrisene støtter NumPy et stort antall matematiske operasjoner. I denne delen vil vi gjennomgå de essensielle funksjonene du trenger å vite for opplæringen på 'tensorflow».
Hvorfor bruke NumPy?
NumPy er minneeffektivitet, noe som betyr at den kan håndtere den enorme mengden data som er mer tilgjengelig enn noe annet bibliotek. Dessuten er NumPy veldig praktisk å jobbe med, spesielt for matrisemultiplikasjon og omforming. På toppen av det er NumPy rask. Faktisk lærer TensorFlow og Scikit å bruke NumPy-array for å beregne matrisemultiplikasjonen i bakenden.
Hvordan installere NumPy
For å installere NumPy-biblioteket, se veiledningen vår Hvordan installere TensorFlow. NumPy er installert som standard med Anaconda.
I eksternt tilfelle er NumPy ikke installert-
Du kan installere NumPy ved å bruke Anaconda:
conda install -c anaconda numpy
- In Jupyter Notatbok:
import sys !conda install --yes --prefix {sys.prefix} numpy
Importer NumPy og sjekk versjon
Kommandoen for å importere numpy er:
import numpy as np
Koden ovenfor gir nytt navn til Numpy-navneområdet til np. Dette tillater oss å prefiksere Numpy-funksjon, metoder og attributter med "np" i stedet for å skrive "numpy." Det er standard snarveien du finner i numpy-litteraturen
For å sjekke din installerte versjon av NumPy, bruk kommandoen nedenfor:
print (np.__version__)
Utgang:
1.18.0
Hva er Python NumPy Array?
NumPy-matriser er litt som Python lister, men likevel veldig mye forskjellige på samme tid. For de av dere som er nye i temaet, la oss avklare hva det er og hva det er bra for.
Som navnet på en måte gir bort, er en NumPy-array en sentral datastruktur i numpy-biblioteket. Bibliotekets navn er faktisk en forkortelse for "Numeric Python" eller "Numerisk Python".
Opprette en NumPy-matrise
Den enkleste måten å lage en matrise på i Numpy er å bruke Python Liste
myPythonList = [1,9,8,3]
For å konvertere pythonliste til en numpy array ved å bruke objektet np.array.
numpy_array_from_list = np.array(myPythonList)
For å vise innholdet i listen
numpy_array_from_list
Utgang:
array([1, 9, 8, 3])
I praksis er det ikke nødvendig å erklære en Python Liste. Operasjonen kan kombineres.
a = np.array([1,9,8,3])
MERKNADER: Numpy-dokumentasjonen angir bruk av np.ndarray for å lage en matrise. Dette er imidlertid den anbefalte metoden.
Du kan også lage en numpy array fra en Tuple.
matematisk Operasjoner på en Array
Du kan utføre matematiske operasjoner som addisjoner, subtraksjon, divisjon og multiplikasjon på en matrise. Syntaksen er matrisenavnet etterfulgt av operasjonen (+.-,*,/) etterfulgt av operanden
Eksempel:
numpy_array_from_list + 10
Utgang:
array([11, 19, 18, 13])
Denne operasjonen legger til 10 til hvert element i numpy-matrisen.
Shape of Array
Du kan sjekke formen på matrisen med objektformen foran med navnet på matrisen. På samme måte kan du sjekke typen med dtypes.
import numpy as np a = np.array([1,2,3]) print(a.shape) print(a.dtype) (3,) int64
Et heltall er en verdi uten desimal. Hvis du oppretter en matrise med desimal, vil typen endres til flytende.
#### Different type b = np.array([1.1,2.0,3.2]) print(b.dtype) float64
2 Dimension Array
Du kan legge til en dimensjon med et ","koma
Merk at den må være innenfor parentesen []
### 2 dimension c = np.array([(1,2,3), (4,5,6)]) print(c.shape) (2, 3)
3 Dimension Array
Høyere dimensjoner kan konstrueres som følger:
### 3 dimension d = np.array([ [[1, 2,3], [4, 5, 6]], [[7, 8,9], [10, 11, 12]] ]) print(d.shape) (2, 2, 3)
Målet | Kode |
---|---|
Opprett array | array([1,2,3]) |
skrive ut formen | array([.]).form |
Hva er numpy.zeros()?
numpy.zeros() eller np.null Python funksjonen brukes til å lage en matrise full av nuller. numpy.zeros() i Python kan brukes når du initialiserer vektene under den første iterasjonen i TensorFlow og andre statistikkoppgaver.
numpy.zeros() funksjon Syntaks
numpy.zeros(shape, dtype=float, order='C')
Python numpy.zeros() Parametere
Her
- Form: er formen til null-matrisen
- Dtype: er datatypen i numpy nuller. Det er valgfritt. Standardverdien er float64
- Kontakt: Standard er C som er en viktig radstil for numpy.zeros() i Python.
Python numpy.zeros() Eksempel
import numpy as np np.zeros((2,2))
Utgang:
array([[0., 0.], [0., 0.]])
Eksempel på numpy zero med Datatype
import numpy as np np.zeros((2,2), dtype=np.int16)
Utgang:
array([[0, 0], [0, 0]], dtype=int16)
Hva er numpy.ones()?
np.ones() funksjon brukes til å lage en matrise full av enere. numpy.ones() i Python kan brukes når du initialiserer vektene under den første iterasjonen i TensorFlow og andre statistikkoppgaver.
Python numpy.ones() Syntaks
numpy.ones(shape, dtype=float, order='C')
Python numpy.ones() Parametere
Her
- Form: er formen på np.onene Python Array
- Dtype: er datatypen i numpy ones. Det er valgfritt. Standardverdien er float64
- Kontakt: Standard er C som er en viktig radstil.
Python numpy.ones() 2D-array med datatypeeksempel
import numpy as np np.ones((1,2,3), dtype=np.int16)
Utgang:
array([[[1, 1, 1], [1, 1, 1]]], dtype=int16)
numpy.reshape() funksjon i Python
Python NumPy omforme funksjonen brukes til å forme en matrise uten å endre dataene. I noen tilfeller kan det hende du må omforme dataene fra brede til lange. Du kan bruke funksjonen np.reshape til dette.
Syntaks for np.reshape()
numpy.reshape(a, newShape, order='C')
Her
a: Array som du vil omforme
newShape: De nye ønskene former
Kontakt: Standard er C som er en viktig radstil.
Eksempel på NumPy Reshape
import numpy as np e = np.array([(1,2,3), (4,5,6)]) print(e) e.reshape(3,2)
Utgang:
// Before reshape [[1 2 3] [4 5 6]]
//After Reshape array([[1, 2], [3, 4], [5, 6]])
numpy.flatten() i Python
Python NumPy Flatten funksjonen brukes til å returnere en kopi av matrisen i én dimensjon. Når du arbeider med noen nevrale nettverk som convnet, må du flate ut arrayet. Du kan bruke np.flatten()-funksjonene til dette.
Syntaks for np.flatten()
numpy.flatten(order='C')
Her
Kontakt: Standard er C som er en viktig radstil.
Eksempel på NumPy Flatten
e.flatten()
Utgang:
array([1, 2, 3, 4, 5, 6])
Hva er numpy.hstack() i Python?
Numpy.hstack er en funksjon i Python som brukes til å stable sekvenser av inngangsmatriser horisontalt for å lage en enkelt matrise. Med funksjonen hstack() kan du legge til data horisontalt. Det er en veldig praktisk funksjon i NumPy.
La oss studere hstack inn Python med et eksempel:
Eksempel:
## 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)))
Utgang:
Horizontal Append: [1 2 3 4 5 6]
Hva er numpy.vstack() i Python?
Numpy.vstack er en funksjon i Python som brukes til å stable sekvenser av inngangsmatriser vertikalt for å lage en enkelt matrise. Med vstack()-funksjonen kan du legge til data vertikalt.
La oss studere det med et eksempel:
Eksempel:
## 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)))
Utgang:
Vertical Append: [[1 2 3] [4 5 6]]
Etter å ha studert NumPy vstack og hstack, la oss lære et eksempel for å generere tilfeldige tall i NumPy.
Generer tilfeldig Numbers bruker NumPy
For å generere tilfeldige tall for gaussisk distribusjon, bruk:
numpy.random.normal(loc, scale, size)
Her
- Sted: gjennomsnittet. Sentrum for distribusjon
- Skala: standardavvik.
- Størrelse: antall returer
Eksempel:
## 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]
Hvis plottet vil fordelingen være lik følgende plott
NumPy Asarray-funksjon
Funksjonen asarray() brukes når du vil konvertere en inngang til en matrise. Inndataene kan være en lister, tuppel, ndarray, etc.
Syntaks:
numpy.asarray(data, dtype=None, order=None)[source]
Her
dato: Data som du vil konvertere til en matrise
dtype: Dette er et valgfritt argument. Hvis ikke spesifisert, utledes datatypen fra inndataene
Kontakt: Standard er C som er en viktig radstil. Et annet alternativ er F (Fortan-stil)
Eksempel:
Tenk på følgende 2D-matrise med fire rader og fire kolonner fylt med 1
import numpy as np A = np.matrix(np.ones((4,4)))
Hvis du vil endre verdien på matrisen, kan du ikke. Årsaken er at det ikke er mulig å endre en kopi.
np.array(A)[2]=2 print(A) [[1. 1. 1. 1.] [1. 1. 1. 1.] [1. 1. 1. 1.] [1. 1. 1. 1.]]
Matrise er uforanderlig. Du kan bruke asarray hvis du vil legge til modifikasjon i den originale matrisen. La oss se om det skjer noen endring når du vil endre verdien på de tredje radene med verdien 2.
np.asarray(A)[2]=2 print(A)
Kodeforklaring:
np.asarray(A): konverterer matrisen A til en matrise
[2]: velg den tredje raden
Utgang:
[[1. 1. 1. 1.] [1. 1. 1. 1.] [2. 2. 2. 2.] # new value [1. 1. 1. 1.]]
Hva er numpy.arange()?
numpy.arange() er en innebygd numpy-funksjon som returnerer et ndarray-objekt som inneholder jevnt fordelte verdier innenfor et definert intervall. Du vil for eksempel opprette verdier fra 1 til 10; du kan bruke np.arange() i Python funksjon.
Syntaks:
numpy.arange(start, stop, step, dtype)
Python NumPy arange parametere:
- Start: Start av intervall for np.arrange in Python funksjon.
- Stopp: Slutt på intervall.
- Trinn: Avstand mellom verdier. Standardtrinn er 1.
- Dtype: Er en type array-utgang for NumPy arange in Python.
Eksempel:
import numpy np np.arange(1, 11)
Utgang:
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
Eksempel:
Hvis du ønsker å endre trinnet i denne NumPy-arrangementet, funksjonen i Python for eksempel kan du legge til et tredje tall i parentes. Det vil endre trinnet.
import numpy np np.arange(1, 14, 4)
Utgang:
array([ 1, 5, 9, 13])
NumPy Linspace-funksjon
Linspace gir jevnt fordelte prøver.
Syntaks:
numpy.linspace(start, stop, num, endpoint)
Her
- Start: Startverdi for sekvensen
- Stopp: Sluttverdi for sekvensen
- I: Antall prøver som skal genereres. Standard er 50
- Endpoint: Hvis True (standard), er stopp den siste verdien. Hvis False, er stoppverdien ikke inkludert.
Eksempel:
Den kan for eksempel brukes til å lage 10 verdier fra 1 til 5 jevnt fordelt.
import numpy as np np.linspace(1.0, 5.0, num=10)
Utgang:
array([1. , 1.44444444, 1.88888889, 2.33333333, 2.77777778, 3.22222222, 3.66666667, 4.11111111, 4.55555556, 5. ])
Hvis du ikke ønsker å inkludere det siste sifferet i intervallet, kan du sette endepunkt til usant
np.linspace(1.0, 5.0, num=5, endpoint=False)
Utgang:
array([1. , 1.8, 2.6, 3.4, 4.2])
LogSpace NumPy-funksjon i Python
LogSpace returnerer tall med jevne mellomrom på en loggskala. Logspace har samme parametere som np.linspace.
Syntaks:
numpy.logspace(start, stop, num, endpoint)
Eksempel:
np.logspace(3.0, 4.0, num=4)
Utgang:
array([ 1000. , 2154.43469003, 4641.58883361, 10000. ])
Til slutt, hvis du vil sjekke minnestørrelsen til et element i en matrise, kan du bruke elementstørrelse
x = np.array([1,2,3], dtype=np.complex128) x.itemsize
Utgang:
16
Hvert element tar 16 byte.
Indeksering og skjæring inn Python
Slicing data er trivielt med numpy. Vi vil kutte matrisen "e". Merk at i Python, må du bruke parentesene for å returnere radene eller kolonnene
Eksempel:
## Slice import numpy as np e = np.array([(1,2,3), (4,5,6)]) print(e) [[1 2 3] [4 5 6]]
Husk at med numpy starter den første matrisen/kolonnen på 0.
## First column print('First row:', e[0]) ## Second col print('Second row:', e[1])
Utgang:
First row: [1 2 3] Second row: [4 5 6]
In Python, som mange andre språk,
- Verdiene før kommaet står for radene
- Verdien på rettighetene står for kolonnene.
- Hvis du vil velge en kolonne, må du legge til : før kolonneindeksen.
- : betyr at du vil ha alle radene fra den valgte kolonnen.
print('Second column:', e[:,1])
Second column: [2 5]
For å returnere de to første verdiene i den andre raden. Du bruker : for å velge alle kolonnene opp til den andre
## Second Row, two values print(e[1, :2]) [4 5]
Statistiske funksjoner i Python
NumPy har ganske mange nyttige statistiske funksjoner for å finne minimum, maksimum, persentil standardavvik og varians, etc fra de gitte elementene i matrisen. Funksjonene er forklart som følger −
Numpy er utstyrt med den robuste statistiske funksjonen som er oppført nedenfor
Funksjon | Klumpete |
---|---|
Min | np.min() |
max | np.max() |
Mener | np.mean() |
median | np.median() |
Standardavvik | np.std() |
Tenk på følgende array:
Eksempel:
import numpy as np normal_array = np.random.normal(5, 0.5, 10) print(normal_array)
Utgang:
[5.56171852 4.84233558 4.65392767 4.946659 4.85165567 5.61211317 4.46704244 5.22675736 4.49888936 4.68731125]
Eksempel på NumPy Statistisk funksjon
### 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))
Utgang:
4.467042435266913 5.612113171990201 4.934841002270593 4.846995625786663 0.3875019367395316
Hva er numpy dot-produkt?
Numpy.dot-produkt er et kraftig bibliotek for matriseberegning. For eksempel kan du beregne dot-produktet med np.dot. Numpy.dot-produktet er prikkproduktet til a og b. numpy.dot() i Python håndterer 2D-matrisene og utfører matrisemultiplikasjoner.
Syntaks:
numpy.dot(x, y, out=None)
Parametre
Her
x, y: Inndatamatriser. x og y må begge være 1-D eller 2-D for at np.dot()-funksjonen skal fungere
ut: Dette er utgangsargumentet for 1-D array skalar som skal returneres. Ellers bør ndarray returneres.
Returer
Funksjonen numpy.dot() in Python returnerer et punktprodukt av to matriser x og y. Dot()-funksjonen returnerer en skalar hvis både x og y er 1-D; ellers returnerer den en matrise. Hvis 'out' er gitt, returneres den.
høyninger
Prikk produktet inn Python reiser et ValueError-unntak hvis den siste dimensjonen til x ikke har samme størrelse som den nest siste dimensjonen til y.
Eksempel:
## 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)
Utgang:
14
Matrisemultiplikasjon inn Python
Numpy matmul()-funksjonen brukes til å returnere matriseproduktet av 2 matriser. Her er hvordan det fungerer
1) 2D-matriser, det returnerer normalt produkt
2) Dimensjoner > 2, produktet behandles som en stabel av matrise
3) 1-D-array blir først forfremmet til en matrise, og deretter beregnes produktet
Syntaks:
numpy.matmul(x, y, out=None)
Her
x, y: Inndatamatriser. skalarer ikke tillatt
ut: Dette er valgfri parameter. Vanligvis lagres utdata i ndarray
Eksempel:
På samme måte kan du beregne matrismultiplikasjon med 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)
Utgang:
array([[19, 22], [43, 50]])
determinant
Sist men ikke minst, hvis du trenger å beregne determinanten, kan du bruke np.linalg.det(). Merk at numpy tar seg av dimensjonen.
Eksempel:
## Determinant 2*2 matrix ### 5*8-7*6np.linalg.det(i)
Utgang:
-2.000000000000005
Sammendrag
- Python er et åpen kildekode-bibliotek tilgjengelig i Python, som hjelper i matematisk, vitenskapelig, ingeniørfag og datavitenskapelig programmering.
- numpy.zeros() eller np.zeros Python funksjonen brukes til å lage en matrise full av nuller.
- numpy.ones() i Python kan brukes når du initialiserer vektene under den første iterasjonen i TensorFlow og andre statistikkoppgaver.
- Python NumPy Reshape-funksjonen brukes til å forme en matrise uten å endre dataene.
- Python NumPy Flatten-funksjonen brukes til å returnere en kopi av matrisen i en-dimensjon.
- Numpy.hstack er en funksjon i Python som brukes til å stable sekvenser av inngangsmatriser horisontalt for å lage en enkelt matrise.
- Numpy.vstack er en funksjon i Python som brukes til å stable sekvenser av inngangsmatriser vertikalt for å lage en enkelt matrise.
- numpy.arange() er en innebygd numpy-funksjon som returnerer et ndarray-objekt som inneholder jevnt fordelte verdier innenfor et definert intervall.
- Numpy.dot-produktet er et kraftig bibliotek for matriseberegning.
- Numpy matmul()-funksjonen brukes til å returnere matriseproduktet av 2 matriser.