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