Python NumPy Tutorial for begyndere: Lær med eksempler

Hvad er NumPy i Python?

nusset er et open source-bibliotek tilgængeligt i Python, som hjælper med matematisk, videnskabelig, ingeniør- og datavidenskabsprogrammering. Det er et meget nyttigt bibliotek til at udføre matematiske og statistiske operationer i Python. Det fungerer perfekt til multi-dimensionelle arrays og matrix multiplikation. Det er nemt at integrere med C/C++ og Fortran.

For ethvert videnskabeligt projekt er NumPy værktøjet til at kende. Det er bygget til at arbejde med det N-dimensionelle array, lineær algebra, tilfældigt tal, Fourier-transformation osv.

NumPy er et programmeringssprog, der beskæftiger sig med multidimensionelle arrays og matricer. Ud over arrays og matricer understøtter NumPy et stort antal matematiske operationer. I denne del vil vi gennemgå de væsentlige funktioner, som du har brug for at kende til selvstudiet om 'TensorFlow. '

Hvorfor bruge NumPy?

NumPy er hukommelseseffektivitet, hvilket betyder, at den kan håndtere den store mængde data, der er mere tilgængelig end noget andet bibliotek. Desuden er NumPy meget praktisk at arbejde med, især til matrixmultiplikation og omformning. Oven i købet er NumPy hurtig. Faktisk lærer TensorFlow og Scikit at bruge NumPy-array til at beregne matrixmultiplikationen i bagenden.

Sådan installeres NumPy

For at installere NumPy-biblioteket, se venligst vores tutorial Sådan installeres TensorFlow. NumPy er som standard installeret med Anaconda.

I fjerntilfælde er NumPy ikke installeret-

Du kan installere NumPy ved hjælp af Anaconda:

conda install -c anaconda numpy
  • In Jupyter Notesbog :
import sys
!conda install --yes --prefix {sys.prefix} numpy

Importer NumPy og tjek version

Kommandoen til at importere numpy er:

import numpy as np

Ovenstående kode omdøber Numpy-navneområdet til np. Dette giver os mulighed for at præfikse Numpy-funktion, metoder og attributter med "np" i stedet for at skrive "numpy." Det er standardgenvejen, du finder i numpy-litteraturen

For at kontrollere din installerede version af NumPy, brug nedenstående kommando:

print (np.__version__)

Output:

1.18.0

Hvad er Python NumPy Array?

NumPy-arrays ligner lidt Python lister, men stadig meget forskellige på samme tid. Til de af jer, der er nye til emnet, så lad os afklare, hvad det præcist er, og hvad det er godt for.

Som navnet på en måde giver væk, er et NumPy-array en central datastruktur i numpy-biblioteket. Bibliotekets navn er faktisk en forkortelse for "Numeric Python" eller "Numerisk Python".

Oprettelse af et NumPy-array

Den enkleste måde at oprette et array på i Numpy er at bruge Python Liste

myPythonList = [1,9,8,3]

At konvertere python-listen til et numpy-array ved at bruge objektet np.array.

numpy_array_from_list = np.array(myPythonList)

For at vise indholdet af listen

numpy_array_from_list

Output:

array([1, 9, 8, 3])

I praksis er det ikke nødvendigt at erklære en Python Liste. Operationen kan kombineres.

a  = np.array([1,9,8,3])

BEMÆRK: Numpy-dokumentationen angiver brug af np.ndarray til at oprette et array. Dette er dog den anbefalede metode.

Du kan også oprette et numpy array fra en Tuple.

Matematisk Operationer på et array

Du kan udføre matematiske operationer som addition, subtraktion, division og multiplikation på en matrix. Syntaksen er matrixnavnet efterfulgt af operationen (+.-,*,/) efterfulgt af operanden

Eksempel:

numpy_array_from_list + 10

Output:

array([11, 19, 18, 13])

Denne operation tilføjer 10 til hvert element i numpy-arrayet.

Form af Array

Du kan kontrollere formen på arrayet med objektformen efter navnet på arrayet. På samme måde kan du tjekke typen med dtypes.

import numpy as np
a  = np.array([1,2,3])
print(a.shape)
print(a.dtype)

(3,)
int64

Et heltal er en værdi uden decimal. Hvis du opretter et array med decimaler, ændres typen til flydende.

#### Different type
b  = np.array([1.1,2.0,3.2])
print(b.dtype)

float64

2 Dimension Array

Du kan tilføje en dimension med et ","koma

Bemærk, at det skal være inden for parentesen []

### 2 dimension
c = np.array([(1,2,3),
              (4,5,6)])
print(c.shape)
(2, 3)

3 Dimension Array

Højere dimensioner 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)
Objektiv Kode
Opret array array([1,2,3])
udskrive formen array([.]).form

Hvad er numpy.zeros()?

numpy.zeros() eller np.nul Python funktion bruges til at skabe en matrix fuld af nuller. numpy.zeros() i Python kan bruges, når du initialiserer vægtene under den første iteration i TensorFlow og andre statistiske opgaver.

numpy.zeros() funktion Syntaks

numpy.zeros(shape, dtype=float, order='C')

Python numpy.zeros() Parametre

Her,

  • Shape: er formen af ​​den numpy nul-array
  • Dtype: er datatypen i numpy nuller. Det er valgfrit. Standardværdien er float64
  • Bestilt: Standard er C, som er en vigtig rækkestil for numpy.zeros() i Python.

Python numpy.zeros() Eksempel

import numpy as np
np.zeros((2,2))

Output:

array([[0., 0.],
          [0., 0.]])

Eksempel på numpy zero med Datatype

import numpy as np
np.zeros((2,2), dtype=np.int16)

Output:

array([[0, 0],
         [0, 0]], dtype=int16)

Hvad er numpy.ones()?

np.ones() funktion bruges til at skabe en matrix fuld af dem. numpy.ones() i Python kan bruges, når du initialiserer vægtene under den første iteration i TensorFlow og andre statistiske opgaver.

Python numpy.ones() Syntaks

numpy.ones(shape, dtype=float, order='C')

Python numpy.ones() Parametre

Her,

  • Shape: er formen af ​​np.ones Python Array
  • Dtype: er datatypen i numpy ones. Det er valgfrit. Standardværdien er float64
  • Bestilt: Standard er C, som er en vigtig rækkestil.

Python numpy.ones() 2D Array med Datatype Eksempel

import numpy as np
np.ones((1,2,3), dtype=np.int16)

Output:

array([[[1, 1, 1],        
       [1, 1, 1]]], dtype=int16)

numpy.reshape() funktion i Python

Python NumPy omforme funktion bruges til at forme et array uden at ændre dets data. I nogle tilfælde kan det være nødvendigt at omforme dataene fra brede til lange. Du kan bruge funktionen np.reshape til dette.

Syntaks for np.reshape()

numpy.reshape(a, newShape, order='C')

Her,

a: Array, som du vil omforme

newShape: De nye ønsker former

Bestilt: Standard er C, som er en vigtig rækkestil.

Eksempel på NumPy Reshape

import numpy as np
e  = np.array([(1,2,3), (4,5,6)])
print(e)
e.reshape(3,2)

Output:

 // Before reshape
[[1 2 3] 
 [4 5 6]]
//After Reshape
array([[1, 2],       
	[3, 4],       
	[5, 6]])

numpy.flatten() i Python

Python NumPy Flatten funktion bruges til at returnere en kopi af arrayet i en-dimension. Når du beskæftiger dig med et eller andet neuralt netværk som convnet, skal du udjævne arrayet. Du kan bruge funktionerne np.flatten() til dette.

Syntaks for np.flatten()

numpy.flatten(order='C')

Her,
Bestilt: Standard er C, som er en vigtig rækkestil.

Eksempel på NumPy Flatten

e.flatten()

Output:

array([1, 2, 3, 4, 5, 6])

Hvad er numpy.hstack() i Python?

Numpy.hstack er en funktion i Python der bruges til vandret at stable sekvenser af input-arrays for at lave en enkelt matrix. Med hstack()-funktionen kan du tilføje data vandret. Det er en meget praktisk funktion i NumPy.

Lad os studere hstack ind 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)))

Output:

Horizontal Append: [1 2 3 4 5 6]

Hvad er numpy.vstack() i Python?

Numpy.vstack er en funktion i Python som bruges til at stable sekvenser af input-arrays lodret for at lave et enkelt array. Med funktionen vstack() kan du tilføje data lodret.

Lad os 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)))

Output:

Vertical Append: [[1 2 3]
 [4 5 6]]

Efter at have studeret NumPy vstack og hstack, lad os lære et eksempel på at generere tilfældige tal i NumPy.

Generer tilfældig Numbers ved hjælp af NumPy

For at generere tilfældige tal for Gauss-fordeling, brug:

numpy.random.normal(loc, scale, size)

Her,

  • Loc: middelværdien. Distributionscentret
  • Scale: standardafvigelse.
  • Størrelse: antal returneringer

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 det er plottet, vil fordelingen ligne følgende plot

Eksempel til at generere tilfældig Numbers ved hjælp af NumPy
Eksempel til at generere tilfældig Numbers ved hjælp af NumPy

NumPy Asarray-funktion

Funktionen asarray() bruges, når du vil konvertere et input til et array. Indgangen kunne være en lister, tuple, ndarray osv.

Syntaks:

numpy.asarray(data, dtype=None, order=None)[source]

Her,

data: Data, som du vil konvertere til et array

dtype: Dette er et valgfrit argument. Hvis det ikke er angivet, udledes datatypen fra inputdataene

Bestilt: Standard er C, som er en vigtig rækkestil. Anden mulighed er F (Fortan-stil)

Eksempel:

Overvej følgende 2D-matrix med fire rækker og fire kolonner fyldt med 1

import numpy as np
A = np.matrix(np.ones((4,4)))

Hvis du vil ændre værdien af ​​matricen, kan du ikke. Årsagen er, at det ikke er muligt at ændre 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.]]

Matrix er uforanderlig. Du kan bruge asarray, hvis du vil tilføje modifikation i det originale array. Lad os se, om der sker en ændring, når du vil ændre værdien af ​​den tredje række med værdien 2.

np.asarray(A)[2]=2
print(A)

Kodeforklaring:

np.asarray(A): konverterer matrix A til en matrix

[2]: vælg den tredje række

Output:

[[1. 1. 1. 1.] 
      [1. 1. 1. 1.] 
      [2. 2. 2. 2.] # new value 
      [1. 1. 1. 1.]]

Hvad er numpy.arange()?

numpy.arange() er en indbygget numpy-funktion, der returnerer et ndarray-objekt, der indeholder jævnt fordelte værdier inden for et defineret interval. For eksempel vil du skabe værdier fra 1 til 10; du kan bruge np.arange() i Python funktion.

Syntaks:

numpy.arange(start, stop, step, dtype)

Python NumPy række parametre:

  • Starten: Start af interval for np.arrange in Python funktion.
  • Stands: Slut på interval.
  • Trin: Afstand mellem værdier. Standardtrin er 1.
  • Dtype: Er en type array-output for NumPy arange in Python.

Eksempel:

import numpy np
np.arange(1, 11)

Output:

array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10])

Eksempel:

Hvis du vil ændre trinnet i denne NumPy-arrangementsfunktion i Python for eksempel kan du tilføje et tredje tal i parentes. Det vil ændre trinnet.

import numpy np
np.arange(1, 14, 4)

Output:

array([ 1,  5,  9, 13])

NumPy Linspace-funktion

Linspace giver jævnt fordelte prøver.

Syntaks:

numpy.linspace(start, stop, num, endpoint)

Her,

  • Starten: Startværdi for sekvensen
  • Stands: Slutværdi for sekvensen
  • I: Antal prøver, der skal genereres. Standard er 50
  • Endpoint: Hvis Sand (standard), er stop den sidste værdi. Hvis False, er stopværdi ikke inkluderet.

Eksempel:

For eksempel kan den bruges til at oprette 10 værdier fra 1 til 5 jævnt fordelt.

import numpy as np
np.linspace(1.0, 5.0, num=10)

Output:

array([1.        , 1.44444444, 1.88888889, 2.33333333, 2.77777778,       3.22222222, 3.66666667, 4.11111111, 4.55555556, 5.        ])

Hvis du ikke ønsker at inkludere det sidste ciffer i intervallet, kan du indstille slutpunkt til falsk

np.linspace(1.0, 5.0, num=5, endpoint=False)

Output:

array([1. , 1.8, 2.6, 3.4, 4.2])

LogSpace NumPy-funktion i Python

LogSpace returnerer lige adskilte tal på en log-skala. Logspace har de samme parametre som np.linspace.

Syntaks:

numpy.logspace(start, stop, num, endpoint)

Eksempel:

np.logspace(3.0, 4.0, num=4)

Output:

array([ 1000. ,  2154.43469003,  4641.58883361, 10000.        ])

Til sidst, hvis du vil kontrollere hukommelsesstørrelsen for et element i et array, kan du bruge emnestørrelse

x = np.array([1,2,3], dtype=np.complex128)
x.itemsize

Output:

16

Hvert element tager 16 bytes.

Indeksering og indskæring Python

Udskæring af data er trivielt med numpy. Vi skærer matricen "e". Bemærk, at i Python, skal du bruge parenteserne til at returnere rækkerne eller kolonnerne
Eksempel:

## Slice
import numpy as np
e  = np.array([(1,2,3), (4,5,6)])
print(e)
[[1 2 3]
 [4 5 6]]

Husk med numpy den første matrix/kolonne starter ved 0.

## First column
print('First row:', e[0])

## Second col
print('Second row:', e[1])

Output:

First row: [1 2 3]
Second row: [4 5 6]

In Pythonligesom mange andre sprog,

  • Værdierne før kommaet står for rækkerne
  • Værdien på rettighederne står for kolonnerne.
  • Hvis du vil vælge en kolonne, skal du tilføje : før kolonneindekset.
  • : betyder, at du vil have alle rækkerne fra den valgte kolonne.
print('Second column:', e[:,1])
Second column: [2 5]

For at returnere de to første værdier i den anden række. Du bruger : til at vælge alle kolonner op til den anden

## Second Row, two values
  print(e[1, :2])			
  [4 5]

Statistiske funktioner i Python

NumPy har en del nyttige statistiske funktioner til at finde minimum, maksimum, percentil standardafvigelse og varians osv. fra de givne elementer i arrayet. Funktionerne forklares som følger −

Numpy er udstyret med den robuste statistiske funktion som angivet nedenfor

Funktion numpy
Min np.min()
max np.max()
Mean np.mean()
median np.median()
Standardafvigelse np.std()

Overvej følgende Array:

Eksempel:

import numpy as np
normal_array = np.random.normal(5, 0.5, 10)
print(normal_array)

Output:

[5.56171852 4.84233558 4.65392767 4.946659   4.85165567 5.61211317 4.46704244 5.22675736 4.49888936 4.68731125]

Eksempel på NumPy Statistisk funktion

### 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))

Output:

4.467042435266913
5.612113171990201
4.934841002270593
4.846995625786663
0.3875019367395316

Hvad er numpy dot-produkt?

Numpy.dot produkt er et kraftfuldt bibliotek til matrixberegning. For eksempel kan du beregne prikproduktet med np.dot. Numpy.dot-produkt er prikproduktet af a og b. numpy.dot() i Python håndterer 2D-arrays og udfører matrixmultiplikationer.

Syntaks:

numpy.dot(x, y, out=None)

parametre

Her,

x, y: Input arrays. x og y skal begge være 1-D eller 2-D for at funktionen np.dot() skal fungere

ud: Dette er output-argumentet for 1-D-array-skalar, der skal returneres. Ellers skal ndarray returneres.

Returpolitik

Funktionen numpy.dot() in Python returnerer et Dot-produkt af to arrays x og y. Funktionen dot() returnerer en skalar, hvis både x og y er 1-D; ellers returnerer den en matrix. Hvis 'out' er givet, returneres det.

hæver

Prik produktet ind Python rejser en ValueError-undtagelse, hvis den sidste dimension af x ikke har samme størrelse som den næstsidste dimension af 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)

Output:

14

Matrix Multiplikation ind Python

Funktionen Numpy matmul() bruges til at returnere matrixproduktet af 2 arrays. Her er hvordan det fungerer

1) 2-D-arrays, det returnerer normalt produkt

2) Dimensioner > 2, produktet behandles som en stak af matrix

3) 1-D-array forfremmes først til en matrix, og derefter beregnes produktet

Syntaks:

numpy.matmul(x, y, out=None)

Her,

x, y: Input arrays. skalarer ikke tilladt

ud: Dette er valgfri parameter. Normalt lagres output i ndarray

Eksempel:

På samme måde kan du beregne matricer multiplikation 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)

Output:

array([[19, 22],       
            [43, 50]])

determinanten

Sidst men ikke mindst, hvis du skal beregne determinanten, kan du bruge np.linalg.det(). Bemærk at numpy tager sig af dimensionen.

Eksempel:

## Determinant 2*2 matrix
### 5*8-7*6np.linalg.det(i)

Output:

-2.000000000000005

Resumé

  • Python er et open source-bibliotek tilgængeligt i Python, som hjælper med matematiske, videnskabelige, tekniske og data science programmering.
  • numpy.zeros() eller np.zeros Python funktion bruges til at skabe en matrix fuld af nuller.
  • numpy.ones() i Python kan bruges, når du initialiserer vægtene under den første iteration i TensorFlow og andre statistiske opgaver.
  • Python Funktionen NumPy Reshape bruges til at forme et array uden at ændre dets data.
  • Python Funktionen NumPy Flatten bruges til at returnere en kopi af arrayet i en-dimension.
  • Numpy.hstack er en funktion i Python der bruges til vandret at stable sekvenser af input-arrays for at lave en enkelt matrix.
  • Numpy.vstack er en funktion i Python som bruges til at stable sekvenser af input-arrays lodret for at lave et enkelt array.
  • numpy.arange() er en indbygget numpy-funktion, der returnerer et ndarray-objekt, der indeholder jævnt fordelte værdier inden for et defineret interval.
  • Numpy.dot-produktet er et kraftfuldt bibliotek til matrixberegning.
  • Funktionen Numpy matmul() bruges til at returnere matrixproduktet af 2 arrays.