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

Atributos del array de NumPy

    Descripción y ejemplo de atributos de matrices NumPy

La dimensión del array de NumPy se llama orden (rank), es decir, la dimensión del array, el orden del array unidimensional es 1,el orden del array bidimensional es 2,por lo tanto.
En NumPy, cada array lineal se llama eje (axis), axis=0 indica operar a lo largo del eje 0, es decir, operar en cada columna; axis=1,que indica operar a lo largo del1Operaciones en el eje, es decir, operaciones en cada fila.
Por ejemplo, el array bidimensional es equivalente a dos arrays unidimensionales, donde cada elemento del primer array unidimensional es otro array unidimensional.
Por lo tanto, el array unidimensional es el eje (axis) en NumPy, el primer eje es equivalente al array subyacente, el segundo eje es el array dentro del array subyacente. Y el número de ejes, es decir, el orden, es la dimensión del array.

Entre las propiedades importantes de los objetos ndarray en NumPy se encuentran

Los tipos de datos que admite numpy son más Tipos de datos integrados de PythonEs mucho más, básicamente puede coincidir con los tipos de datos del lenguaje C, donde algunos tipos coinciden con los tipos integrados de Python. A continuación se muestra una tabla con los tipos de datos básicos comunes de NumPy.

ndarray.ndim - El orden, es decir, el número de ejes o el número de dimensiones.ndarray.shape - La dimensión del array, para una matriz, n filas y m columnas.ndarray.size - El número total de elementos del array, equivalente a .shape[n].*El valor de m.ndarray.dtype - El tipo de elemento del objeto ndarray.ndarray.itemsize - Tamaño de cada elemento del objeto ndarray, en bytes.ndarray.flags - Información de memoria del objeto ndarray.ndarray.real - La parte real de ndarray.ndarray.imag - La parte imaginaria de ndarray.ndarray.data - El búfer que contiene los elementos del array real, ya que generalmente se obtienen elementos a través de la indexación del array, por lo general no se necesita usar esta propiedad.

1、ndarray.ndim

ndarray.ndim se usa para devolver la dimensión del array, igual al orden.

>>> import numpy as np
>>> a = np.arange(24)
>>> print (a.ndim) 
1 # a tiene una dimensión
>>> b = a.reshape(2,4,3)
>>> print (b.ndim)
3 # b ahora tiene tres dimensiones

2、ndarray.shape

ndarray.shape representa la dimensión del array, devuelve una tupla, la longitud de esta tupla es el número de dimensiones, es decir, el atributo ndim (orden). Por ejemplo, un array bidimensional, su dimensión se representa como "número de filas" y "número de columnas".
ndarray.shape también se puede usar para ajustar el tamaño del 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]]

Al mismo tiempo, en NumPy también se proporciona la función reshape para ajustar el tamaño del array, con ejemplos específicos a continuación:

>>> 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 es el número de elementos del array. Es igual a np.prod(a.shape), es decir, el producto de las dimensiones del array.
a.size devuelve un entero Python de precisión arbitraria estándar. Para otros métodos que obtienen el mismo valor, la situación puede no ser así (como se recomienda el método np.prod(a.shape), que devuelve un ejemplo np.int_), y si este valor se utiliza en cálculos que pueden sobrepasar el tamaño fijo de los tipos de enteros, puede ser relevante.

>>> 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 devuelve el tamaño de cada elemento del array en bytes.
Por ejemplo, un tipo de elemento de float64 La propiedad itemsiz del array dtype es 8(float64 ocupa 64 bits,cada byte tiene una longitud de 8,por lo que 64/8,ocupa 8 bytes),por ejemplo, un tipo de elemento de complex32 El atributo item del array 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 devuelve la información de memoria del objeto ndarray, que incluye las siguientes propiedades:

C_CONTIGUOUS (C) - Los datos están en un solo segmento continuo de estilo C.F_CONTIGUOUS (F) - Los datos están en un solo segmento continuo de estilo Fortran.OWNDATA (O) - El array posee la memoria que utiliza o la presta de otro objeto.WRITEABLE (W) - El área de datos puede escribirse, configure este valor como False para que los datos sean de solo lectura.ALIGNED (A) - Los datos y todos los elementos se alinean adecuadamente con el hardware.UPDATEIFCOPY (U) - Este array es una copia de otro array, cuando este array se libera, el contenido del array original se actualizará.

>>> 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 y 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')