Y una descripción breve de las diferentes formas de crear una matriz: Triturar numpy (a)

↑  centrarse + estrella - no es interesante como la tecnología Nº

Nueve de la noche, nos encontramos en el tiempo  


Hola a todos, soy un estudiante de color amarillo

Recién actualizados básico para todo el mundo para saludar pitón, esta vez traer la serie numpy rallado.

1. Introducción de numpy

numpy es "Numerical Python" para abreviar.

numpy proporciona un alto rendimiento multi-dimensional ndarray matriz de objetos (N Dimensión Array), y un número de funciones y operaciones de la biblioteca, puede ayudar a los programadores cálculo numérico fácilmente.

lleva a cabo la lengua nativa de Python lentamente, C ejecutado 500 veces, casi pitón sólo puede ejecutarse una vez, pero la sintaxis de Python es mucho más simple que otros lenguajes de programación. Así que no sólo queremos ejecutar un determinado lenguaje de programación rápida, pero también fácil de programar. La pitón definitiva mediante la integración de C y C ++, la solución definitiva a este problema, es decir: la parte inferior están ejecutando código C y C ++, pero la parte superior se utiliza para escribir el lenguaje Python. Esta es la razón por la que nos gusta usar "numpy Biblioteca".

Como muchos numpy utilizado para la minería de datos, análisis de datos, inteligencia artificial en relación con el componente de tecnología subyacente implementado. Al igual que SciPy, Matplotlib, scikit-learn, en cierta medida, necesidad de confiar en numpy.

2, el aprendizaje de las rutinas numpy

Aprender a utilizar los datos de la organización numpy (cómo crear, desea diferentes dimensiones, la gama de diferentes formas): numpy proporciona una matriz de objetos de alto rendimiento multi-dimensional: ndarray.

Numpy función de aprendizaje para hacer frente a este grupo proporciona buenos datos: numpy ofrece una gran cantidad de funciones de biblioteca que nos ayudan a lidiar con estos datos.

3, la descripción de la estructura de datos de objetos numpy en ndarray

numpy estructuras de datos más importantes se denominan como matriz n-dimensional ndarray el objeto, el objeto consiste en dos partes:

  • parte de metadatos: Descripción de la parte de la información almacenada de la ndarray objeto actual;

  • sección de datos real: el almacenamiento es el objeto actual de estos datos reales ndarray.

1) ¿Cuál es la descripción de la matriz ndarray de objetos que?

Nota: Las cifras anteriores forma, tamaño, dtype, Ndim, etc. son la x ndarray información de descripción de objeto, esta información se almacena en un área de metadatos. Los datos reales es 1,2,3,4,5,6 este objeto.

4, una simple comparación de matrices ndarray y archivos de lista

① ndarray en una matriz o lista de tipos de datos

archivo de lista puede ser almacenada en diferentes tipos de datos, como por ejemplo: x = [1,2,3, True, "China"]. Todos los elementos almacenados ndarray en la matriz debe ser consistente.

② uso numpy para crear y utilizar una matriz de eficiencia nativa Lista de comparación

③ crear una matriz de beneficios de usar ndarray

Desde ndarray, el tipo de cada elemento, ya que es consistente, entonces sólo se necesita un conjunto de información de metadatos ndaray en él, en lugar de como una lista, las necesidades de cada objeto para almacenar una información de metadatos.

ndarray ventaja es: 1, debido a los metadatos sólo es necesario almacenar una copia, por lo que puede ahorrar más espacio. 2, ya que cada elemento del mismo tipo, como se evidencia por el tamaño de la memoria para cada elemento es el mismo, entonces tales datos pueden ser almacenados en una operación más compacto, más eficiente.

5. ¿Cuáles son las dimensiones?

Un ejemplo se describirá ①

② una figura ilustra ndarray escrita unidimensional de matriz, matrices bidimensionales, tres arrays dimensionales

③ se ejemplifican para el conocimiento descrito anteriormente

6, crear una matriz de diferentes maneras

1) usando la función array () para crear una matriz;

siguiente

import numpy as np

array1 = [1,2,3]
m = np.array(array1)
display(m)

array2 = [[1,2,3],[4,5,6]]
n = np.array(array2)
display(n)

Los resultados son como sigue:

Las conclusiones son las siguientes:

  • np.array función (parámetros), los parámetros de datos a qué estilo, lo que construye variedad de estilos ndarray; usted me da una lista unidimensional, me gustaría construir una matriz unidimensional; me das una lista de dos dimensiones, lo Construcción de una matriz de dos dimensiones;

  • ¿Qué es una lista de dos dimensiones? Lista de cada elemento es una lista de una sola dimensión, es una lista de dos dimensiones;

  • Si he construido una lista de dos dimensiones, a continuación, la lista de dos dimensiones cada elemento es sólo una lista unidimensional;

  • En numpy, una matriz unidimensional también se llama "vectores"; matriz de dos dimensiones también se llama "matriz";

2) usando la función arange () para crear una matriz: rango de contraste de la función de lista de aprendizaje ();

① el mismo punto: el uso es el mismo

# 语法如下:
range(start,end,step)
arange(start,end,step)
# 举例如下:
list1 = list(range(1,10,2))
display(list1)
array1 = np.arange(1,10,2)
display(array1)

Los resultados son como sigue:

② diferente: arange () paso función, puede ser flotante, pero la gama () tamaño de paso de la función, no puede flotar

list1 = list(range(1,10,2))
display(list1)
list2 = list(range(1,10,0.5))
display(list2)
list3 = list(range(10,1,-2))
display(list3)

array1 = np.arange(1,10,2)
display(array1)
array2 = np.arange(1,10,0.5)
display(array2)
array3 = np.arange(10,1,-2)
display(array4)

Los resultados son como sigue:

3) con el valor especificado para generar una matriz de una forma predeterminada;

① funciones de uso común como sigue

  • np.zeros ((x, y)): generar una x fila columna y, una matriz bidimensional de elementos son 0;

  • np.ones ((x, y)): generar una x fila columna y, una matriz bidimensional de elementos son;

  • np.full ((x, y), valor): generar una x fila columna y, una matriz bidimensional de elementos son de valor, en el que este valor puede ser un valor entero (un entero positivo, 0, número entero negativo) o decimal;

② código es el siguiente

array1 = np.zeros((3,4))
display(array1)

array2 = np.ones((3,4))
display(array2)

array1 = np.full((3,4),1.2)
display(array3)

Los resultados son como sigue:

Nota: Estoy aquí para crear una matriz de dos dimensiones, por ejemplo, pasa un número, puede crear matrices unidimensionales; se pasa tres figuras, se puede crear una matriz tridimensional, se puede ir en su propio intento.

4) La forma de la matriz ndarray existente, creando idénticos, pero la forma de la ndarray elemento de matriz especificado;

① funciones de uso común como sigue

  • np.zeros_like ()

  • np.ones_like ()

  • np.full_like ()

② funcionamiento es el siguiente

## 1)先创建一个一维数组和一个二维数组;
n1 = np.array([1,2,3]);
n2 = np.array([[1,2,3],[4,5,6]])

## 2)使用np.zeros_like()
array1 = np.zeros_like(n1)
array2 = np.zeros_like(n2)
display(array1)
display(array2)

## 3)np.ones_like()
array3 = np.ones_like(n1)
array4 = np.ones_like(n2)
display(array3)
display(array4)

## 4)np.full_like()
array5 = np.full_like(n1)
array6 = np.full_like(n2)
display(array5)
display(array6)

Los resultados son como sigue:

5) crear una matriz y una matriz diagonal;

① crear una matriz

## 1)np.eye(x)和np.identity(x)
array1 = np.eye(3)
display(array1)

array2 = np.identity(4)
display(array2)

Los resultados son como sigue:

② crear una matriz diagonal

## 1)np.diag()
array1 = np.diag([10,20,30])
display(array1)

Los resultados son como sigue:

6) Creación de columnas de matriz aritméticas: arange Comparación () la función y linspace () aprendizaje función;

① np.arange () y np.linspace () para crear una progresión aritmética de diferencia

  • np.arange (inicio, parada, paso) El tercer parámetro se refiere a un elemento de paso;

  • np.linspace (inicio, parada, num) el tercer parámetro se refiere al número de elementos;

  • np.arange () toma un valor que es menor que el tope máximo, np.linspace () puede tomar el valor máximo por el tope de forma predeterminada;

② utilizado como sigue

array1 = np.arange(1,15,3)
display(array1)
display(array1.dtype)

array2 = np.linspace(1,15,3)
display(array2)
display(array2.dtype)

Los resultados son como sigue:

③ np.linspace () son dos parámetros utilizados comúnmente: punto final y dtype

  • que comprende representa punto final = valor final True (predeterminado), punto final = valor False que indica que no terminación;

  • Dtype = np.float64 tipo de datos especificado para crear una matriz de incumplimiento es float64, también puede establecer dtype = np.np.int32;

array3 = np.linspace(1,20,num=5,endpoint=False,dtype=np.float64)
display(array3)

array4 = np.linspace(1,20,num=5,endpoint=False,dtype=np.int32)
display(array4)

array5 = np.linspace(1,20,num=5,endpoint=True,dtype=np.float64)
display(array5)

array6 = np.linspace(1,20,num=5,endpoint=True,dtype=np.int32)
display(array6)

Los resultados son como sigue:

7) Crear un array serie geométrica;

Un ejemplo se describirá ①

log_array = np.logspace(1, 7, num=4, endpoint=True, base=2)
display(log_array)

Los resultados son como sigue:

Nota: El código anterior representado entre el lado primario al lado 2 2 siete, el número de generación 4, que constituye un además cuatro dígitos serie geométrica.

② vistazo a otro caso

log_array1 = np.logspace(1, 5, 3)
display(log_array1)

Los resultados son como sigue:

Nota: El código anterior representa la base por defecto = 10, es decir, entre el primer lado 10 de la quintic 10 genera tres números, el número de los cuales 3 también constituye una secuencia geométrica.

8) mediante la creación de una matriz de funciones personalizadas;

## 1)np.fromfunction()
## 定义一个函数
def f(x, y):
    return x * 2 + 1 + y

## 从一个函数生成一个二维数组;
b = np.fromfunction(f, (3,3), dtype=np.int32)
display(b)

## 在这个函数,f函数要接收的参数,就是当前元素的坐标;
## 0行0列,传入的就是x=0,y=0;
## 0行1列,传入的就是x=0,y=1;
## 3行2列,传入的就是x=3,y=2;

Los resultados son como sigue:

serie numpy actualizan continuamente en ~

Si se siente artículo útil para usted, recepción para escanear código bidimensional amarilla se refieren a los estudiantes de blogs RDCC

Un artículo reciente, haga clic en la imagen para ver

Palabras clave de contestar de nuevo " en el grupo ", de inmediato se unió al grupo de lectores del ~

5

serie numpy actualizan continuamente en ~

cinco Zhu Xiao

Publicado 42 artículos originales · ganado elogios 373 · Vistas a 30000 +

Supongo que te gusta

Origin blog.csdn.net/zhuxiao5/article/details/104890566
Recomendado
Clasificación