English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
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
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]]
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
>>> import numpy as np >>> x array([[0, 1], [2, 3]) >>> x.dtype dtype('int32') >>> type(x.dtype)
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
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
>>> 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')