Base de análisis de datos NumPy: operaciones básicas de operaciones de matriz ndarray e iteración de índice de segmento

Tabla de contenido

prefacio

1. Operaciones Matemáticas Básicas

1. Suma y resta

2. Poder

3. Filtrado condicional

4. Multiplicación de elementos de matriz

5. Multiplicación de matrices

6. Conversión implícita de tipo de matriz

2. Indexación e iteración de segmentos

1. Matriz unidimensional

2. Arreglos multidimensionales

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.

Este capítulo explica principalmente las operaciones matemáticas básicas del objeto de matriz numpy ndarray, como las operaciones de matriz de matriz de suma, resta, multiplicación y división, y las funciones matemáticas generales y de uso común.


1. Operaciones Matemáticas Básicas

Los operadores aritméticos en las matrices se realizan por elementos, creando una nueva matriz y llenándola con el resultado.

1. Suma y resta

a = np.array([20, 30, 40, 50])
b = np.arange(10,50,10)
c=a-b
c

 

2. Poder

a**2

 

3. Filtrado condicional

a<40

 

 A diferencia de muchos lenguajes matriciales, el operador de producto * opera en elementos de matrices NumPy. El producto de matriz se puede realizar usando el operador @ (en versiones de Python >= 3.5) o la función o método de punto:

4. Multiplicación de elementos de matriz

A = np.array([[1, 2],
              [3, 4]])
B = np.array([[5, 6],
              [7, 8]])
A*B

 

5. Multiplicación de matrices

A@B

 

O usando la función de punto es lo mismo:

A.dot(B)

 

 Ciertas operaciones, como += y *=, modifican las matrices existentes, no crean otras nuevas.

a = np.ones((2, 3), dtype=int)
a*=3
a

 

a = np.ones((2, 3), dtype=int)
b = np.zeros((2, 3), dtype=int)
b += a
b

 

6. Conversión implícita de tipo de matriz

Cuando se opera con arreglos de diferentes tipos, el tipo del arreglo resultante corresponde a un tipo más general o preciso (un comportamiento llamado upcasting).

a = np.ones((2, 3), dtype=int)
b = np.zeros((2, 3), dtype=float)
c=a+b
c.dtype.name

 

 Muchas operaciones unarias, como calcular la suma de todos los elementos de una matriz, se implementan como métodos de la clase ndarray.

c.sum()
c.max()
c.min()

 Por defecto, estas operaciones se aplican a la matriz como si fuera una lista de números, independientemente de su forma. Sin embargo, las operaciones se pueden aplicar a lo largo del eje especificado de la matriz especificando el parámetro del eje:

b = np.arange(12).reshape(3, 4)
b

 

b.sum(axis=0)

 

b.min(axis=1)

 

b.cumsum(axis=1)

2. Indexación e iteración de segmentos

1. Matriz unidimensional

Las matrices unidimensionales se pueden indexar, dividir e iterar, al igual que las listas y otras secuencias de Python.

a=np.arange(10,20,2)
a[2]

 

a[2:5]

 

2. Arreglos multidimensionales

Cada eje de una matriz multidimensional puede tener un índice. Estos índices se dan como tuplas separadas por comas:

def f(x, y):
    return 10 * x + y
b = np.fromfunction(f, (5, 4), dtype=int)
b

 

b[2, 3]

 

b[0:5, 1] 

 

b[1:3, :]

 

Cuando se proporcionan menos índices que el número de ejes, los índices que faltan se tratan como cortes completos:

b[-1]

 

Las expresiones entre paréntesis en b[i] se tratan como i , seguidas de tantas instancias de : como sea necesario para representar los ejes restantesNumPy también permiteescribir con puntos como b[i,...] .

Los puntos (...) representan los dos puntos necesarios para generar la tupla de índice completa. Por ejemplo, si x es una matriz con 5 ejes, entonces

  • x[1,2,…] es equivalente a x[1,2,:,:,]
  • x[…,3] a x[:,:,::,:3]
  • x[4,...,5,:] a x[4,:,:,5,:]
c = np.array([[[  0,  1,  2],  
               [ 10, 12, 13]],
              [[100, 101, 102],
               [110, 112, 113]]])
c

 

c[1, ...]

 

c[..., 2]

 

Iterar sobre una matriz multidimensional sobre el primer eje:

for row in b:
    print(row)

 

 Sin embargo, si desea realizar una operación en cada elemento de la matriz, puede usar la propiedad plana, que es un iterador sobre todos los elementos de la matriz:

for element in b.flat:
    print(element)

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/127144925
Recomendado
Clasificación