English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Propriétés des tableaux de NumPy

    Description et exemples des attributs des tableaux NumPy

Le nombre de dimensions des arrays de NumPy est appelé degré (rank), c'est-à-dire la dimension de l'array, le degré de l'array uni-dimensionnel est 1,le degré de l'array bidimensionnel est 2,à peu près ainsi.
Dans NumPy, chaque array linéaire est appelé un axe (axis), axis=0, représente les opérations le long de l'axe 0, c'est-à-dire les opérations sur chaque colonne; axis=1,représente le long de1Les opérations sur les axes, c'est-à-dire les opérations sur chaque ligne.
Par exemple, un array bidimensionnel est deux arrays uni-dimensionnels, où chaque élément du premier array uni-dimensionnel est à nouveau un array uni-dimensionnel.
Donc, un array uni-dimensionnel est l'axe (axis) dans NumPy, le premier axe est相当于 le bas de l'array, le deuxième axe est l'array dans l'array de base. Et le nombre d'axes - le degré, c'est le nombre de dimensions de l'array.

Les attributs importants des objets ndarray dans NumPy sont

Les types de données pris en charge par numpy sont plus Types de données intégrés PythonC'est beaucoup plus, et peut généralement correspondre aux types de données du langage C, certains types correspondant aux types intégrés de Python. Le tableau suivant énumère les types de base courants de NumPy.

ndarray.ndim - Le degré, c'est-à-dire le nombre d'axes ou le nombre de dimensions.ndarray.shape - La dimension de l'array, pour une matrice, n lignes et m colonnes.ndarray.size - Le nombre total d'éléments de l'array, équivalent à n dans .shape*La valeur de m.ndarray.dtype - Le type d'élément de l'objet ndarray.ndarray.itemsize - La taille de chaque élément de l'objet ndarray, en octets.ndarray.flags - Informations de mémoire de l'objet ndarray.ndarray.real - La partie réelle des éléments ndarray.ndarray.imag - La partie imaginaire des éléments ndarray.ndarray.data - La zone tampon contenant les éléments réels de l'array, car généralement, les éléments de l'array sont obtenus par l'indexage de l'array, donc généralement, cette propriété n'est pas nécessaire.

1、ndarray.ndim

ndarray.ndim est utilisé pour retourner le nombre de dimensions de l'array, égale au degré.

>>> import numpy as np
>>> a = np.arange(24)
>>> print(a.ndim) 
1 # a a une seule dimension
>>> b = a.reshape(2,4,3)
>>> print(b.ndim)
3 # b maintenant possède trois dimensions

2、ndarray.shape

ndarray.shape représente la dimension de l'array, retourne un tuple, la longueur de ce tuple est le nombre de dimensions, c'est-à-dire l'attribut ndim (degré). Par exemple, un array bidimensionnel, ses dimensions sont représentées par "nombre de lignes" et "nombre de colonnes".
ndarray.shape peut également être utilisé pour ajuster la taille de l'array.

>>> import numpy as np
>>> a = np.array([1,2,3,4,5,6],[4,5,6,7,8,9])
>>> print(a.shape)
(2, 6)
>>> a.shape = (6,2)
>>> print(a)
[[1 2]
 [3 4]
 [5 6]
 [4 5]
 [6 7]
 [8 9]]

En même temps, la fonction reshape est également fournie dans NumPy pour ajuster la taille du tableau, comme dans les exemples suivants :

>>> import numpy as np
>>> a = np.array([1,2,3,4,5,6],[4,5,6,7,8,9])
>>> b = a.reshape(6,2)
>>> print(b)
[[1 2]
 [3 4]
 [5 6]
 [4 5]
 [6 7]
 [8 9]]

3、ndarray.size

ndarray.size est le nombre d'éléments du tableau. Égal à np.prod(a.shape), c'est-à-dire le produit des dimensions du tableau.
a.size retourne un entier Python de précision arbitraire standard. Pour d'autres méthodes d'obtention de la même valeur, la situation peut ne pas être la même (comme la méthode recommandée np.prod(a.shape), qui retourne un exemple np.int_), et si cette valeur est utilisée davantage dans des calculs où le dépassement de la taille fixe du type d'entier peut survenir, cela peut être pertinent.

>>> import numpy as np
>>> x = np.zeros((3, 5, 2), dtype=np.complex128)
>>> x.size
30
>>> np.prod(x.shape)
30

4、ndarray.dtype

>>> import numpy as np
>>> x
array([[0, 1],
       [2, 3])
>>> x.dtype
dtype('int32')
>>> type(x.dtype)

5、ndarray.itemsize

ndarray.itemsize retourne la taille de chaque élément du tableau sous forme d'octets.
Par exemple, un type d'élément float64 L'attribut itemsiz du tableau de type np.float a la valeur 8(float64 consomme 64 bits, chaque octet a une longueur de 8,donc 64/8,consomme 8 octets), par exemple, un type d'élément complex32 L'attribut item du tableau est de 4(32/8)。

>>> import numpy as np
>>> x = np.array([1,2,3,4,5], dtype = np.int8)
>>> print (x.itemsize)
1
>>> y = np.array([1,2,3,4,5], dtype = np.float64)
>>> print (y.itemsize)
8

6、ndarray.flags

ndarray.flags renvoie les informations de mémoire de l'objet ndarray, y compris les propriétés suivantes :

C_CONTIGUOUS (C) - Les données sont dans un segment continu de style C.F_CONTIGUOUS (F) - Les données sont dans un segment continu de style Fortran.OWNDATA (O) - Le tableau possède la mémoire qu'il utilise ou l'emprunte à un autre objet.WRITEABLE (W) - La zone de données peut être écrite, ce qui rend les données en lecture seule si la valeur est définie sur False.ALIGNED (A) - Les données et tous les éléments sont correctement alignés sur le matériel.UPDATEIFCOPY (U) - Ce tableau est une copie d'un autre tableau, lorsque ce tableau est libéré, le contenu de l'original sera mis à jour.

>>> import numpy as np
>>> a = np.array([1,2,3,4,5]
>>> print(a.flags)
  C_CONTIGUOUS : True
  F_CONTIGUOUS : True
  OWNDATA : True
  WRITEABLE : True
  ALIGNED : True
  WRITEBACKIFCOPY : False
  UPDATEIFCOPY : False

7、ndarray.real et x.imag

>>> import numpy as np
>>> x = np.sqrt([1+0j, 0+1j])
>>> x.real
array([1. , 0.70710678]
>>> x.real.dtype
dtype('float64')
>>> x.imag
array([0. , 0.70710678]
>>> x.imag.dtype
dtype('float64')