Directorio de artículos
NumPy (Python numérico)
Numpy es una biblioteca de extensión de computación científica Python de código abierto, que se utiliza principalmente para procesar arreglos y matrices de dimensiones arbitrarias .
Para la misma tarea, usar numpy es más simple y eficiente que usar directamente las estructuras de datos básicas de python.
Sus funciones:
- Contiene un poderoso objeto de matriz N-dimensional Ndarray
- función de transmisión
- Herramientas para integrar código C/C++
- Funciones como el álgebra lineal, la transformada de Fourier y la generación de números aleatorios
numpy es la base del procesamiento de datos o bibliotecas de computación científica como scipy y pandas
Referencias a numpy
Aunque el alias se puede omitir o cambiar, intente utilizar el alias mencionado anteriormente
Ndarray
Una matriz de n dimensiones, que es una colección del mismo tipo de datos, comienza con 0 como subíndice para indexar los elementos de la colección.
Sabemos que Python tiene estructuras de datos como listas y matrices.
Lista : el tipo de datos puede ser diferente (como [3, 2.4, 'a', "abc"]), los datos son una
matriz ordenada : el mismo tipo de datos (como [1, 2, 3, 4])
conjunto : (como {2, 4, 3, 5, 7}) los datos no están ordenados
El significado de introducir una matriz n-dimensional
Observe que los siguientes dos conjuntos de operaciones funcionan de la misma manera.
import numpy as np
def pysum():
a = [1, 2, 3, 4]
b = [5, 6, 7, 8]
c = []
for i in range(len(a)):
c.append(a[i]**2+b[i]**3)
return c
def numpysum():
a = np.array([1, 2, 3, 4])
b = np.array([5, 6, 7, 8])
c = a**2+b**3
return c
print("使用列表运算的结果是:", pysum())
print("使用Numpy运算的结果是:", numpysum())
'''
运行结果:
使用列表运算的结果是: [126, 220, 352, 528]
使用Numpy运算的结果是: [126 220 352 528]
'''
Pero obviamente:
- El objeto de matriz numpy puede eliminar el ciclo requerido para la operación de construcción del elemento, haciendo que el vector unidimensional se asemeje más a un solo dato.
- Al configurar un objeto de matriz especial, numpy se optimiza y la velocidad de operación se mejora en consecuencia.
Normalmente, en las operaciones científicas, todos los tipos de datos de una dimensión suelen ser los mismos. En este momento, usar el mismo tipo de datos para la matriz objeto es útil para ahorrar tiempo de computación y espacio de almacenamiento
Composición de ndarray
- Información actual
- Los metadatos que describen estos datos (dimensiones de datos, tipos de datos, etc.)
Propiedades de los objetos ndarray
tipo de datos
Cuando np.array() no especifica dtype, numpy asociará un tipo de dtype según la condición de los datos
La razón por la que ndarray admite múltiples tipos de datos
- La sintaxis básica de Python solo admite 3 tipos de números enteros, números de coma flotante y números complejos
- La computación científica involucra una gran cantidad de datos y tiene altos requisitos de almacenamiento y rendimiento.
- La definición precisa de los tipos de elementos ayuda a usar el espacio de almacenamiento de manera razonable y optimizar el rendimiento
- La fina definición de los tipos de elementos ayuda a los programadores a tener una evaluación razonable del tamaño del programa.
Creación de matriz ndarray
import numpy as np
x = np.array([[1, 0], [2, 0], [3, 1]], np.int32)
print(x)
print(x.dtype)
'''
程序输出:
[[1 0]
[2 0]
[3 1]]
int32
'''
Transformación de matriz adarray
operación de matriz ndarray
Indexación y corte
Indexación: el proceso de obtener un elemento en una posición específica en una matriz
División: el proceso de obtener un subconjunto de los elementos de una matriz
función de números aleatorios
función estadística
función de gradiente
Réplicas y Vistas
álgebra lineal numérica
Operaciones entre matrices y escalares
Resumen de funciones numpy.linalg de uso común
función | Función |
---|---|
diagnóstico | Devuelve los elementos diagonales de una matriz cuadrada como una matriz unidimensional o convierte una matriz unidimensional en una matriz cuadrada unidimensional |
punto | multiplicación de matrices |
rastro | Calcula la suma de los elementos diagonales |
el | Calcular matriz determinante |
eig | Calcular valores propios y vectores propios de matriz cuadrada |
inversión | Calcular la inversa de una matriz cuadrada |
svd | Cálculo de la descomposición de valores singulares |
resolver | Resolver el sistema de ecuaciones lineales Ax=b, donde A es una matriz cuadrada |
lstsq | Calcular la solución de mínimos cuadrados para Ax=b |
(Hola chicos, hay tantas funciones integradas en numpy...)