Noções básicas de CV e PNL 1 Aprendizagem Numpy

Biblioteca de processamento de array Numpy

Importe a biblioteca numpy e apelide-a como np

import numpy as np

Veja o que é fornecido na biblioteca numpy

dir(np)或help(np)

Descrição complementar de uma função de jupyer

Coloque o cursor na função e pressione shift+tabpara exibir a descrição da função:
insira a descrição da imagem aqui

Use a função aleatória do numpy para gerar matrizes aleatoriamente

numpy.random.rand()

numpy.random.rand(d0,d1,…,dn)

  • A função rand gera dados entre [0,1) de acordo com a dimensão fornecida, incluindo 0 e excluindo 1
  • dn indica dimensão
  • O valor de retorno é uma matriz da dimensão especificada

exemplo:
insira a descrição da imagem aqui

numpy.random.randn() - importante

numpy.random.randn(d0,d1,…,dn)

  • A função randn retorna uma amostra ou conjunto de amostras, com uma distribuição normal padrão.

  • dn indica dimensão

  • O valor de retorno é uma matriz da dimensão especificada

  • .shapeA construção do array resultante pode ser visualizada via

  • Observando .ndima dimensão da matriz (também pode ser entendida como o número de "eixos")

  • Observando .sizeo número de elementos contidos na matriz
    insira a descrição da imagem aqui

  • .argmax: Retorna o índice (subscrito) do valor máximo do eixo especificado. Em uma matriz bidimensional, o parâmetro "0" representa a coluna e o parâmetro "1" representa a linha. Depois de
    insira a descrição da imagem aqui
    explicar por que é usado .argmax(axis=0), a saída array([1, 1, 0]) ?
    .argmaxretorna o valor máximo do eixo especificado 索引(下标). 二维数组中,参数“0”代表列,参数“1”代表行。
    Use .argmax(0)fetch 列的最大值的索引:
    A primeira coluna da matriz arr3 de três linhas e três colunas gerada é: 0,78650488, 1,30572907, -0,49828544, entre as quais 1,30572907 é o maior e seu índice é 1.
    A segunda coluna da matriz arr3 de três colunas gerada é: 0,38190384, 1,60970205, -2,00096618, entre as quais 1,60970205 é o maior e seu índice é 1.
    A terceira coluna da matriz arr3 de três colunas gerada é: 1,145984, -0,2094228, -0,85838297, entre as quais 1,145984 é o maior e seu índice é 0.

Da mesma forma, use .argmax(axis=1)fetch 行的最大值的索引:
insira a descrição da imagem aqui

numpy.random.randint()

numpy.random.randint(low, high=None, size=None, dtype=numpy.int32)

  • Retorne um número inteiro aleatório , o intervalo é [baixo, alto), incluindo baixo, excluindo alto
  • Parâmetros: baixo é o valor mínimo, alto é o valor máximo, tamanho é o tamanho da dimensão da matriz, dtype é o tipo de dados e o tipo de dados padrão é np.int
  • Quando alto não é preenchido, o intervalo padrão de geração de números aleatórios é [0, baixo)

insira a descrição da imagem aqui

Gere um número de ponto flutuante entre [0,1)

  • numpy.random.random_sample(tamanho=Nenhum)
  • numpy.random.random(tamanho=Nenhum)
  • numpy.random.ranf(tamanho=Nenhum)
  • numpy.random.sample(tamanho=Nenhum)

insira a descrição da imagem aqui

numpy.random.choice()

numpy.random.choice(a, size=None, replace=True, p=None)

  • Gere números aleatórios a partir de um determinado array 1D
  • Parâmetros: a é uma matriz unidimensional semelhante a dados ou um número inteiro; tamanho é a dimensão da matriz; p é a probabilidade de os dados na matriz aparecerem
  • Quando a é um número inteiro, o array unidimensional correspondente é np.arange(a)
    insira a descrição da imagem aqui
  • O comprimento do parâmetro p precisa ser consistente com o comprimento do parâmetro a;
  • O parâmetro p é a probabilidade, e a soma dos dados em p deve ser 1
    insira a descrição da imagem aqui

numpy.random.seed()

  • A função de np.random.seed(): tornar os dados aleatórios previsíveis.
  • Quando definimos a mesma semente, o número aleatório gerado a cada vez é o mesmo. Se nenhuma semente for definida, um número aleatório diferente será gerado a cada vez
    insira a descrição da imagem aqui

numpy.zeros()

É usado para gerar uma matriz de todos os 0s, e o tipo de variável pode ser especificado com o parâmetro dtype

Exemplo: Gere uma matriz de todos os zeros com três linhas e quatro colunas, e o tipo é float32
insira a descrição da imagem aqui

multiplicação de array numpy.dot()

insira a descrição da imagem aqui

numpy.arange() - importante

Use a função arange na biblioteca numpy para criar um intervalo de valores e retornar um objeto ndarray (matriz n-dimensional, matriz n-dimensional). O formato da função é o seguinte:

numpy.arange(iniciar, parar, passo, dtype)

Gere um ndarray de acordo com o intervalo especificado por início e parada e o tamanho do passo definido por passo.

insira a descrição da imagem aqui
Adicione uma descrição da imagem

transmissão de matriz

Multiplicar uma matriz por 10 multiplicará todos os números nela contidos por 10

insira a descrição da imagem aqui

Adicione um número ao array, cada elemento adicionará esse número

insira a descrição da imagem aqui

Se arr2 é uma matriz de 4 linhas e 6 colunas, e arr3 é uma matriz de 1 linha e 6 colunas, arr2 + arr3 é cada linha de arr2 mais o elemento correspondente de arr3

insira a descrição da imagem aqui

Recursos do tipo array

  • tem sua própria forma
  • Existem tipos de dados (dtype), como: dtype=numpy.int32; dtype=numpy.float32
  • Você pode modificar o valor de um elemento em uma matriz

Modifique a forma do array numpy.reshape() - muito importante

  1. Trabalho preliminar, primeiro gere um objeto array:
arr5 = np.arange(0, 24, dtype=np.int32)
arr5

insira a descrição da imagem aqui

  1. Converta a matriz em uma matriz de três linhas e oito colunas:
arr5.reshape(3, 8)

insira a descrição da imagem aqui

  1. Converta a matriz em uma matriz de quatro linhas e seis colunas:
arr5.reshape(4, 6)

insira a descrição da imagem aqui

  1. Encontre o primeiro elemento do array cuja forma foi modificada pela indexação (observe a diferença da indexação de lista, a indexação de array é um pouco mais simples e tem menos parênteses):
    insira a descrição da imagem aqui

  2. Elementos indexados em listas suplementares:
    insira a descrição da imagem aqui

  3. Modifique elementos em uma matriz:
    insira a descrição da imagem aqui
    注意,使用reshape函数时,不会创建副本。例如,这里修改了arr6的元素,但是也修改了arr5的元素,arr5和arr6指向同一个元素,没有创建副本,如下图:

insira a descrição da imagem aqui

  1. 使用copy函数,创建副本
arr6 = arr5.copy()

insira a descrição da imagem aqui

Use a função list() para forçar a conversão de um array em uma lista

Use a função list() para forçar um array de três linhas e quatro colunas a ser convertido em uma lista, onde cada elemento ainda é um tipo de array:
insira a descrição da imagem aqui

Use .ndim para visualizar as dimensões de um array

Também pode ser entendido como o número de eixos na matriz.
Exemplo: arr6 é uma matriz de três linhas e quatro colunas
insira a descrição da imagem aqui

Use .size para visualizar o número de elementos na matriz

insira a descrição da imagem aqui

Conversão de tipo (ênfase)

Use numpy.array() para converter uma lista em um array

Preste atenção aos comentários, envolvendo o uso da função type() e do atributo dtype

insira a descrição da imagem aqui

numpy.astype()

Observando a descrição da função, podemos ver que astype() pode criar uma cópia do array original e alterar o tipo de elementos no array

insira a descrição da imagem aqui
Exemplo:
insira a descrição da imagem aqui
Após usar a função astype(), verifique se é uma cópia de arr7 através dos elementos em arr8:
insira a descrição da imagem aqui

fatia de matriz

数组切片是原始数据的视图,也就是不会创造副本。注意这与列表切片的区别。

insira a descrição da imagem aqui
Fatias de array de alta dimensão:
Exemplo 1:
insira a descrição da imagem aqui
Exemplo 2:
insira a descrição da imagem aquiinsira a descrição da imagem aqui

Acho que você gosta

Origin blog.csdn.net/Waldocsdn/article/details/125432417
Recomendado
Clasificación