Diretório de artigos
- Biblioteca de processamento de array Numpy
- transmissão de matriz
- Recursos do tipo array
- Conversão de tipo (ênfase)
- fatia de matriz
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+tab
para exibir a descrição da função:
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:
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
-
.shape
A construção do array resultante pode ser visualizada via -
Observando
.ndim
a dimensão da matriz (também pode ser entendida como o número de "eixos") -
Observando
.size
o número de elementos contidos na matriz
-
.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
explicar por que é usado.argmax(axis=0)
, a saída array([1, 1, 0]) ?
.argmax
retorna 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 行的最大值的索引
:
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)
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)
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)
- 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
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
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
multiplicação de array numpy.dot()
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.
transmissão de matriz
Multiplicar uma matriz por 10 multiplicará todos os números nela contidos por 10
Adicione um número ao array, cada elemento adicionará esse número
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
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
- Trabalho preliminar, primeiro gere um objeto array:
arr5 = np.arange(0, 24, dtype=np.int32)
arr5
- Converta a matriz em uma matriz de três linhas e oito colunas:
arr5.reshape(3, 8)
- Converta a matriz em uma matriz de quatro linhas e seis colunas:
arr5.reshape(4, 6)
-
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):
-
Elementos indexados em listas suplementares:
-
Modifique elementos em uma matriz:
注意,使用reshape函数时,不会创建副本。例如,这里修改了arr6的元素,但是也修改了arr5的元素,arr5和arr6指向同一个元素,没有创建副本,如下图:
使用copy函数,创建副本
arr6 = arr5.copy()
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:
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
Use .size para visualizar o número de elementos na matriz
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
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
Exemplo:
Após usar a função astype(), verifique se é uma cópia de arr7 através dos elementos em arr8:
fatia de matriz
数组切片是原始数据的视图,也就是不会创造副本。注意这与列表切片的区别。
Fatias de array de alta dimensão:
Exemplo 1:
Exemplo 2: