Python-lijsten zijn een vervanging voor arrays, maar leveren niet de vereiste prestaties bij het berekenen van grote sets numerieke gegevens.
Om dit probleem aan te pakken, gebruiken we de NumPy-bibliotheek van Python. NumPy biedt een array-object genaamd ndarray . Ze zijn vergelijkbaar met standaard Python-reeksen, maar verschillen op bepaalde sleutelfactoren.
Wat is een NumPy-array?
NumPy-array is een multidimensionale gegevensstructuur die de kern vormt van wetenschappelijk computergebruik in Python.
Alle waarden in een array zijn homogeen (van hetzelfde gegevenstype).
Ze bieden automatische vectorisatie en uitzending.
Ze bieden efficiënt geheugenbeheer, ufuncs (universele functies), ondersteunen verschillende gegevenstypen en zijn flexibel met indexering en slicing.
Afmetingen in arrays
NumPy-arrays kunnen meerdere dimensies hebben, waardoor gebruikers gegevens in meerlaagse structuren kunnen opslaan.
Dimensionaliteiten van array:
| Naam | Voorbeeld |
| 0D (nuldimensionaal) | Scalair – Een enkel element |
| 1D (eendimensionaal) | Vector- Een lijst met gehele getallen. |
| 2D (tweedimensionaal) | Matrix- Een spreadsheet met gegevens |
| 3D (driedimensionaal) | Tensor- Een kleurenafbeelding opslaan |
Array-object maken
Met de objecten van de NumPy-array kunnen we met arrays in Python werken. Het array-object wordt aangeroepen ndarray .
array() functie van de NumPy-bibliotheek creëert een ndarray.
Python3
np punt
import> numpy as np> arr>=> np.array([>1>,>2>,>3>,>4>,>5>,>6>])> |
>
>
Uitvoer
[1,2,3,4,5,6]>
We kunnen ook een NumPy-array maken met behulp van List en Tuple.
Maak een NumPy-array uit een lijst
U kunt de np-alias gebruiken om ndarray van a te maken lijst met behulp van de array()-methode.
li = [1,2,3,4] numpyArr = np.array(li)>
of
numpyArr = np.array([1,2,3,4])>
De lijst wordt doorgegeven aan de methode array() die vervolgens een array met dezelfde elementen retourneert.
Voorbeeld 1: In het volgende voorbeeld ziet u hoe u een array uit een lijst initialiseert.
Python3
Hoe een afbeelding op CSS te centreren
sorteer een arraylist
import> numpy as np> > li>=> [>1>,>2>,>3>,>4>]> numpyArr>=> np.array(li)> print>(numpyArr)> |
>
>
Uitgang:
[1 2 3 4]>
De resulterende array ziet er hetzelfde uit als een lijst, maar is een NumPy-object.
Voorbeeld 2: Laten we een voorbeeld nemen om te controleren of de numpyArr een NumPy-object is of niet. In dit voorbeeld gebruiken we de functie array() om de lijst naar een NumPy-array te converteren en vervolgens te controleren of het een NumPy-object is of niet.
Python3
import> numpy as np> > li>=> [>1>,>2>,>3>,>4>]> numpyArr>=> np.array(li)> > print>(>'li ='>, li,>'and type(li) ='>,>type>(li))> print>(>'numpyArr ='>, numpyArr,>'and type(numpyArr) ='>,>type>(numpyArr))> |
>
>
Uitgang:
li = [1, 2, 3, 4] and type(li) = numpyArr = [1 2 3 4] and type(numpyArr) =>
Zoals je kunt zien is li een lijstobject, terwijl numpyArr een arrayobject van NumPy is.
Maak een NumPy-array van een Tuple
Je kunt ndarray maken van a tupel met behulp van een vergelijkbare syntaxis.
tup = (1,2,3,4) numpyArr = np.array(tup)>
of
numpyArr = np.array((1,2,3,4))>
In het volgende voorbeeld ziet u hoe u een array maakt op basis van een tuple. Hier gebruiken we de functie array() om de tupel naar een NumPy-array te converteren.
Python3
schrijf json naar bestand python
import> numpy as np> > tup>=> (>1>,>2>,>3>,>4>)> numpyArr>=> np.array(tup)> > print>(>'tup ='>, tup,>'and type(tup) ='>,>type>(tup))> print>(>'numpyArr ='>, numpyArr,>'and type(numpyArr) ='>,>type>(numpyArr))> |
>
>
Uitgang:
tup = (1, 2, 3, 4) and type(tup) = numpyArr = [1 2 3 4] and type(numpyArr) =>
Houd er rekening mee dat de waarde van numpyArr voor beide conversies hetzelfde blijft.
Mission Impossible alle films
NumPy-arrays versus ingebouwde Python-reeksen
- In tegenstelling tot lijsten hebben arrays een vaste grootte, en het wijzigen van de grootte van een array zal leiden tot het maken van een nieuwe array, terwijl de oorspronkelijke array wordt verwijderd.
- Alle elementen in een array zijn van hetzelfde type.
- Arrays zijn sneller, efficiënter en vereisen minder syntaxis dan standaard Python-reeksen.
Opmerking: Verschillende wetenschappelijke en wiskundige op Python gebaseerde pakketten gebruiken Numpy. Ze kunnen de invoer gebruiken als een ingebouwde Python-reeks, maar ze zullen de gegevens waarschijnlijk omzetten in een NumPy-array om een snellere verwerking te bereiken. Dit verklaart de noodzaak om NumPy te begrijpen.
Waarom is de Numpy Array zo snel?
Numpy-arrays worden meestal geschreven in C-taal . Omdat ze in C zijn geschreven, worden de arrays opgeslagen op aaneengesloten geheugenlocaties, waardoor ze toegankelijk en gemakkelijker te manipuleren zijn. Dit betekent dat u het prestatieniveau van C-code kunt bereiken met het gemak van het schrijven van een Python-programma.
- Homogene gegevens: Arrays slaan elementen van hetzelfde gegevenstype op, waardoor ze compacter en geheugenefficiënter zijn dan lijsten.
- Vast gegevenstype: Arrays hebben een vast gegevenstype, waardoor de geheugenoverhead wordt verminderd door de noodzaak te elimineren om type-informatie voor elk element op te slaan.
- Aangrenzend geheugen: Arrays slaan elementen op aangrenzende geheugenlocaties op, waardoor fragmentatie wordt verminderd en efficiënte toegang mogelijk wordt gemaakt.

Numpy Array-geheugentoewijzing
Als NumPy niet op uw systeem is geïnstalleerd, kunt u dit doen door deze stappen te volgen. Na het installeren van NumPy kunt u het op deze manier in uw programma importeren
import numpy as np>
Opmerking: Hier is np een veelgebruikte alias voor NumPy.
Gegevenstoewijzing in Numpy-array
In NumPy worden gegevens aaneengesloten in het geheugen toegewezen, volgens een goed gedefinieerde lay-out bestaande uit de gegevensbuffer, vorm en stappen. Dit is essentieel voor efficiënte gegevenstoegang, gevectoriseerde bewerkingen en compatibiliteit met bibliotheken op laag niveau, zoals BLAS En LAPACK .
- Gegevensbuffer: De gegevensbuffer in NumPy is een enkel, plat geheugenblok waarin de feitelijke elementen van de array worden opgeslagen, ongeacht de dimensionaliteit ervan. Dit maakt efficiënte elementgewijze bewerkingen en gegevenstoegang mogelijk.
- Vorm: De vorm van een array is een tupel van gehele getallen die de afmetingen langs elke as vertegenwoordigen. Elk geheel getal komt overeen met de grootte van de array langs een specifieke dimensie, die het aantal elementen langs elke as definieert en essentieel is voor het correct indexeren en opnieuw vormgeven van de array.
- Stappen: Schreden zijn tupels van gehele getallen die het aantal bytes definiëren dat in elke dimensie moet worden gezet bij het verplaatsen van het ene element naar het volgende. Ze bepalen de afstand tussen elementen in het geheugen en meten hoeveel bytes nodig zijn om in elke dimensie van het ene element naar het andere te gaan.

Conclusie
NumPy-array in Python is een zeer nuttige datastructuur en stelt ons in staat verschillende wetenschappelijke bewerkingen op de gegevens uit te voeren. Het is een zeer geheugenefficiënte datastructuur en biedt een breed scala aan voordelen ten opzichte van andere Python-reeksen.
In deze tutorial hebben we NumPy-arrays in detail uitgelegd. We hebben de definitie, dimensionaliteit besproken, waarom is het snel en hoe gegevenstoewijzing in een array werkt. Na het voltooien van deze tutorial krijgt u een volledige en diepgaande kennis van de NumPy-array en kunt u deze in uw Python-projecten implementeren.