NumPy Multidimensional Array - ndarray

  1. ndarray Definitie
  2. ndarray Attributen

NumPy is een bibliotheek die multidimensionale arrays gebruikt als de basisgegevensstructuur. De enige gegevensstructuur in NumPy is ndarray maar niet het primitieve list gegevenstype Python , omdat deze list relatief langzaam verloopt.

Nadat jij hebt geleerd ndarray dat dit de hoeksteen van NumPy is, begrijpt u waarom NumPy high-speed computing kan bereiken.

ndarray Definitie

ndarray is de afkorting van n-dimension array, of met andere woorden - multidimensionale arrays. ndarray is een array-object dat een multidimensionale, homogene array van items met een vaste grootte vertegenwoordigt.

De afmetingen en het aantal elementen worden bepaald door de vorm, dat wil zeggen een tuple van N gehele getallen die het aantal elementen in elke dimensie vertegenwoordigt. Het elementtype in de array wordt gedefinieerd door dtype - data-type object.

Laten we de bovenstaande zinnen uitleggen in de taal van de leek. Alle elementen die in het ndarray object zijn opgeslagen, moeten hetzelfde gegevenstype en dezelfde grootte hebben.

De kenmerken van het ndarray gegevenstype zijn als volgt samengevat.

  1. Kan alleen elementen van hetzelfde type opslaan
  2. De hoeveelheid gegevens in elke dimensie moet hetzelfde zijn, bijvoorbeeld 2D ndarray moet hetzelfde aantal elementen in elke kolom hebben, en natuurlijk ook in elke rij.
  3. Het is geschreven in C-taal en kan de matrixbewerking optimaal uitvoeren

ndarray Attributen

Laten we de attributen van vermelden ndarray.

attributen Beschrijving
T Matrix transponeren. Wanneer de array 1 D is, wordt de oorspronkelijke array geretourneerd.
data Een Python-bufferobject dat verwijst naar de startpositie van de gegevens in de array.
dtype Het gegevenstype van het element in de ndarray.
flags Informatie over het opslaan van ndarray-gegevens in het geheugen (geheugenindeling).
flat Een iterator die ndarray omzet in een eendimensionale array.
imag Het denkbeeldige deel van ndarray-gegevens
real Echt onderdeel van ndarray data
size Het aantal elementen in de ndarray.
itemsize De grootte van elk element in bytes.
nbytes Het totale geheugen (in bytes) bezet door de ndarray.
ndim Het aantal dimensies in de ndarray.
shape De vorm van de ndarray (resultaten zijn tupels).
strides Het aantal bytes dat nodig is om naar het volgende aangrenzende element in elke dimensierichting te gaan, wordt voorgesteld door een tupel.
ctypes Een iterator die wordt verwerkt in de ctypes-module.
base Het object waarop ndarray is gebaseerd (naar welk geheugen wordt verwezen).

Wanneer u toegang krijgt tot de kenmerken van ndarray , worden de gegevens van het ndarray exemplaar niet gewijzigd, zelfs niet als u .T de transpositie van het object gebruikt. U krijgt een nieuw ndarray object maar geen gewijzigde originele gegevens.

Laten we eens kijken naar de specifieke betekenis van elk kenmerk door middel van voorbeeldcodes.

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

We moeten de NumPy bibliotheek importeren en een nieuwe 1-D array maken. Je kan het gegevenstype en het gegevenstype van het element controleren.

>>> type(a)
numpy.ndarray
>>> a.dtype
dtype('int32')

Laten we een nieuwe 2D-array maken en vervolgens de kenmerken ervan controleren.

>>> b = np.array([[4, 5, 6], [7, 8, 9]])
>>> b
array([[4, 5, 6],
       [7, 8, 9]])
>>> b.T     # get the transpose of b
array([[4, 7],
       [5, 8],
       [6, 9]])
>>> b       # b keeps unmodified
array([[4, 5, 6],
       [7, 8, 9]])
>>> a.size  # a has 3 elements
3
>>> b.size  # b has 6 elements
6
>>> a.itemsize # The size of element in a. The data type here is int64 - 8 bytes
8
>>> b.nbytes  # check how many bytes in b. It is 48, where 6x8 = 48
48
>>> b.shape # The shape of b
(2, 3)
>>> b.dnim # The dimensions of b
2