Base de análisis de datos NumPy: visualización de atributos ndarray, creación y salida de varias operaciones detalladas

Tabla de contenido

prefacio

Primero, el eje de la matriz de ejes

2. atributo ndarray

ndarray.ndim

 ndarray.shape

 ndarray.tamaño

 ndarray.dtype

ndarray.itemsize

ndarray.datos

Tres, creación ndarray

1.matriz()

2.ceros()/unos()/vacío()

 3.arange()/linspace()

Cuarto, salida ndarray

Preste atención, evite perderse, si hay algún error, deje un mensaje para recibir asesoramiento, muchas gracias.



prefacio

Como uno de los tres gigantes del análisis de datos, Pandas, matplotlib y NumPy, es necesario dar una explicación separada para la cara. Los escenarios de aplicación de NumPy son muy amplios y muchas funciones de Pandas se convierten en estructuras de datos de matriz NumPy. Se usa incluso con más frecuencia que Pandas en el aprendizaje automático, el aprendizaje profundo y algunas operaciones de procesamiento de datos. Además, NumPy es poderoso y conveniente de usar, y admite una variedad de operaciones complejas. Usualmente uso NumPy en mis Pandas y algunos artículos de aprendizaje automático, pero el contenido del blog no explica el funcionamiento de NumPy en detalle, ni registra algunas respuestas de funciones específicas sobre el funcionamiento de NumPy. Es realmente inapropiado para un blogger como yo que persigue las necesidades de un servicio de ventanilla única, por lo que llenaré el pozo viejo y publicaré una nueva columna básica de análisis de datos Numpy de la serie de aprendizaje rápido de un texto.

Esta serie de artículos se incluirá en mi columna uno, una serie de fundamentos de análisis de datos NumPy de aprendizaje rápido, que básicamente cubre el uso de datos NumPy para analizar negocios diarios y análisis de modelos matemáticos de rutina y operaciones complejas. Dedicaré mucho tiempo y pensaré en crear desde operaciones de matrices básicas hasta operaciones complejas como el procesamiento de matrices y características vectoriales, así como funciones comunes profesionales de NumPy. Si necesita participar en análisis de datos o desarrollo de datos, modelado matemático, Amigos de ingeniería de Python recomienda suscribirse a la columna, y aprenderá los conocimientos más prácticos y comunes en la primera vez. Este blog es largo y vale la pena leerlo y practicarlo. Elegiré la mejor parte y hablaré sobre la práctica en detalle. Los bloggers mantendrán las publicaciones del blog durante mucho tiempo. Si tiene algún error o duda, puede señalarlo en el área de comentarios. Gracias por su apoyo.

El contenido de este número explica principalmente en detalle las funciones de salida correspondientes de varios atributos de ndarray, así como el método de creación y el método de impresión de salida.


Primero, el eje de la matriz de ejes

Los objetos principales de NumPy son matrices multidimensionales homogéneas. Es una tabla de elementos (generalmente números), todos los elementos del mismo tipo, indexados por una tupla de números enteros no negativos. En NumPy, las dimensiones se llaman ejes.

Por ejemplo, la matriz de coordenadas [1, 2, 3] de un punto en el espacio 3D tiene un eje. Hay 3 elementos en este eje, por lo que decimos que tiene una longitud de 3. Aquí podemos entender esta matriz en términos del eje xy:

[[1, 2, 3],
 [0, 1, 2]]

El primer eje es el eje y con un tamaño de 2, y el segundo eje es el eje x con un tamaño de 3.

2. atributo ndarray

La clase de matriz de NumPy se llama ndarray. Tenga en cuenta que la matriz numpy ndarray es diferente de la matriz estándar de la biblioteca de Python, que solo maneja matrices unidimensionales y tiene menos funciones. Las propiedades más importantes de los objetos ndarray son:

  • ndarray.ndim
    • El número de ejes (dimensiones) de la matriz.
  • ndarray.shape
    • La dimensión de la matriz. Esta es una tupla de enteros que representa el tamaño de la matriz en cada dimensión. Para una matriz con n filas y m columnas, la estructura de la matriz será (n, m).
  • ndarray.tamaño
    • El número total de elementos de la matriz. Igual al número de elementos en la estructura de matriz.
  • ndarray.dtype
    • Un objeto que describe el tipo de elementos en una matriz. Un dtype se puede crear o especificar usando tipos estándar de Python. Además, NumPy proporciona sus propios tipos. numpy.int32, numpy.int16 y numpy.float64.
  • ndarray.itemsize
    • El tamaño en bytes de cada elemento de la matriz. Por ejemplo, una matriz de elementos de tipo float64 tiene itemsize8 (=64/8), mientras que uno de los elementos de tipo complex32 tiene itemsize4 (=32/8). Es equivalente a ndarray.dtype.itemsize.
  • ndarray.datos
    • Un búfer que contiene los elementos reales de la matriz. Generalmente no necesitamos usar esta propiedad, la herramienta de indexación automática accede a los elementos de la matriz.

Visualización de código:

import numpy as np
a=np.array([[ 0,  1,  2,  3],
            [ 4,  5,  6,  7],
            [8, 9, 10, 11]])
a

ndarray.ndim

Dimensiones de la matriz:

a.ndim

 

 ndarray.shape

Dimensiones de la matriz:

a.shape

 

 ndarray.tamaño

El número total de elementos de la matriz:

a.size

 

 ndarray.dtype

Un objeto del tipo de elemento en la matriz:

a.dtype

 

ndarray.itemsize

a.itemsize

 

 Un int tiene 4 bytes

ndarray.datos

Búfer de elementos reales de la matriz:

a.data

 

Tres, creación ndarray

Las matrices se pueden crear a partir de listas regulares de Python o tuplas utilizando la función de matriz. El tipo de la matriz resultante se deduce de los tipos de los elementos de la secuencia.

1.matriz()

Por ejemplo, acabamos de dar un ejemplo:

a=np.array([[ 0,  1,  2,  3],
            [ 4,  5,  6,  7],
            [8, 9, 10, 11]])

 Deduce que su tipo de datos es int32, luego cambiamos la matriz:

b=np.array([ 0.1,  1.1,  2.1,  3.1])
b.dtype

 

Deducido a float64 según el tipo de elemento.

La función de matriz puede convertir una secuencia en una matriz bidimensional y una secuencia en una matriz tridimensional:

b=np.array([(1,2,3),(4,5,6)])
b

 

 El tipo de matriz también se puede especificar explícitamente en el momento de la creación:

b=np.array([(1,2,3),(4,5,6)], dtype=float)
b

 

2.ceros()/unos()/vacío()

 La función zeros crea una matriz llena de ceros, la función ones crea una matriz llena de unos y la función empty crea una matriz cuyo contenido inicial es aleatorio, según el estado de la memoria. De forma predeterminada, el dtype de la matriz creada es float64, pero se puede especificar mediante el argumento de palabra clave dtype.

np.zeros((2, 3))

 

 

np.ones((2, 3, 4), dtype=np.int16)

El primer parámetro 1 es el número de matrices, luego la dimensión.

 

np.empty((2, 3)) 

 

 3.arange()/linspace()

Para crear secuencias de números, NumPy proporciona la función arange, que es similar al rango integrado de Python pero devuelve una matriz.

np.arange(0, 10, 2)

 

Cuando se utiliza un rango con argumentos de punto flotante, el número de elementos obtenidos suele ser impredecible debido a la limitada precisión del punto flotante. Por tanto, suele ser mejor utilizar la función linspace, que recibe como parámetro el número de elementos que queremos:

np.linspace(0, 2, 6)

0 es el valor inicial, 2 es el valor de terminación y 6 es el número de divisiones:

Cuarto, salida ndarray

Al imprimir matrices, NumPy las muestra de manera similar a las listas anidadas, con el siguiente diseño:

  • El último eje se imprime de izquierda a derecha
  • La penúltima se imprime de arriba a abajo
  • El resto también se imprimen de arriba a abajo, con una línea en blanco que separa cada rebanada de la siguiente.

Los arreglos 1D se imprimen como filas, 2D como matrices y 3D como listas de matrices.

a=np.arange(4)
print(a)

 

a=np.array([[ 0,  1,  2,  3],
    [ 4,  5,  6,  7],
    [8, 9, 10, 11]])
print(a)

 

print(np.ones((2, 3, 4), dtype=np.int16))

 

Si la matriz es demasiado grande para imprimir, NumPy omite automáticamente la parte central de la matriz e imprime solo las esquinas:

print(np.arange(10000))

 

 Para deshabilitar este comportamiento y obligar a NumPy a imprimir la matriz completa, puede usar set_printoptions para cambiar las opciones de impresión.

np.set_printoptions(threshold=sys.maxsize)

Preste atención, evite perderse, si hay algún error, deje un mensaje para recibir asesoramiento, muchas gracias.

Eso es todo por este tema. Estoy atascado, si tiene alguna pregunta, no dude en dejar un mensaje para discutir, nos vemos en la próxima edición.

Supongo que te gusta

Origin blog.csdn.net/master_hunter/article/details/127138416
Recomendado
Clasificación