biblioteca numpy de Python

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:

  1. Contiene un poderoso objeto de matriz N-dimensional Ndarray
  2. función de transmisión
  3. Herramientas para integrar código C/C++
  4. 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

inserte la descripción de la imagen aquí
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:

  1. 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.
  2. 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

  1. Información actual
  2. Los metadatos que describen estos datos (dimensiones de datos, tipos de datos, etc.)
    inserte la descripción de la imagen aquí

Propiedades de los objetos ndarray

inserte la descripción de la imagen aquí

tipo de datos

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
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

  1. La sintaxis básica de Python solo admite 3 tipos de números enteros, números de coma flotante y números complejos
  2. La computación científica involucra una gran cantidad de datos y tiene altos requisitos de almacenamiento y rendimiento.
  3. La definición precisa de los tipos de elementos ayuda a usar el espacio de almacenamiento de manera razonable y optimizar el rendimiento
  4. 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
'''

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

Transformación de matriz adarray

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

operación de matriz ndarray

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

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
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

función de números aleatorios

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

función estadística

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

función de gradiente

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

Réplicas y Vistas

álgebra lineal numérica

Operaciones entre matrices y escalares

inserte la descripción de la imagen aquí

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...)

Supongo que te gusta

Origin blog.csdn.net/qq_52109814/article/details/122016446
Recomendado
Clasificación