Base de análise de dados NumPy: operações básicas de operações de matriz ndarray e iteração de índice de fatia

Índice

prefácio

1. Operações Matemáticas Básicas

1. Adição e subtração

2. Potência

3. Filtragem condicional

4. Multiplicação de elementos da matriz

5. Multiplicação de Matriz

6. Conversão implícita do tipo de matriz

2. Indexação e iteração de fatias

1. Matriz unidimensional

2. Matrizes multidimensionais

Preste atenção, evite se perder, se houver algum erro, por favor deixe uma mensagem para aconselhamento, muito obrigado



prefácio

Como um dos três gigantes da análise de dados, Pandas, matplotlib e NumPy, é necessário dar uma explicação separada para o rosto. Os cenários de aplicativos NumPy são muito amplos e muitas funções do Pandas são convertidas em estruturas de dados de matriz NumPy. É ainda mais usado do que o Pandas em aprendizado de máquina, aprendizado profundo e algumas operações de processamento de dados. Além disso, o NumPy é poderoso e conveniente de usar e suporta uma variedade de operações complexas. Eu costumo usar o NumPy em meus Pandas e alguns artigos de aprendizado de máquina, mas o conteúdo do blog não explica o funcionamento do NumPy em detalhes, nem registra algumas respostas de funções específicas sobre o funcionamento do NumPy. É realmente inadequado para um blogueiro como eu, que busca necessidades de serviço de balcão único, então vou preencher o poço antigo e publicar uma nova coluna básica de análise de dados da série de aprendizado de velocidade de texto único.

Esta série de artigos será incluída na minha coluna um, uma série de aprendizado rápido - base de análise de dados NumPy, que basicamente abrange o uso de dados NumPy para analisar negócios diários e análises de modelagem matemática de rotina e operações complexas. Vou gastar muito tempo e pensar na criação de operações básicas de matriz a operações complexas, como processamento de recursos de matriz e vetor, bem como funções comuns profissionais do NumPy. Se você precisar se envolver em análise de dados ou desenvolvimento de dados, modelagem matemática, amigos da engenharia Python recomendam se inscrever na coluna, e você aprenderá o conhecimento mais prático e comum na primeira vez. Este blog é longo e vale a pena ler e praticar. Vou escolher a melhor parte e falar sobre a prática em detalhes. Os blogueiros manterão as postagens do blog por um longo tempo. Se você tiver algum erro ou dúvida, pode apontá-lo na área de comentários. Obrigado por seu apoio.

Este capítulo explica principalmente as operações matemáticas básicas do objeto de matriz numpy ndarray, como as operações de adição, subtração, multiplicação e divisão de matrizes e funções matemáticas gerais e comumente usadas.


1. Operações Matemáticas Básicas

Operadores aritméticos em arrays são executados por elemento, criando um novo array e preenchendo-o com o resultado.

1. Adição e subtração

a = np.array([20, 30, 40, 50])
b = np.arange(10,50,10)
c=a-b
c

 

2. Potência

a**2

 

3. Filtragem condicional

a<40

 

 Ao contrário de muitas linguagens de matriz, o operador de produto * opera em elementos em matrizes NumPy. O produto da matriz pode ser executado usando o operador @ (em versões python >= 3.5) ou a função ou método dot:

4. Multiplicação de elementos da matriz

A = np.array([[1, 2],
              [3, 4]])
B = np.array([[5, 6],
              [7, 8]])
A*B

 

5. Multiplicação de Matriz

A@B

 

Ou usar a função ponto é o mesmo:

A.dot(B)

 

 Certas operações, como += e *=, modificam arrays existentes, não criam novos.

a = np.ones((2, 3), dtype=int)
a*=3
a

 

a = np.ones((2, 3), dtype=int)
b = np.zeros((2, 3), dtype=int)
b += a
b

 

6. Conversão implícita do tipo de matriz

Ao operar com arrays de tipos diferentes, o tipo do array resultante corresponde a um tipo mais geral ou preciso (um comportamento chamado upcasting).

a = np.ones((2, 3), dtype=int)
b = np.zeros((2, 3), dtype=float)
c=a+b
c.dtype.name

 

 Muitas operações unárias, como calcular a soma de todos os elementos em uma matriz, são implementadas como métodos da classe ndarray.

c.sum()
c.max()
c.min()

 Por padrão, essas operações são aplicadas ao array como se fosse uma lista de números, independentemente de sua forma. No entanto, as operações podem ser aplicadas ao longo do eixo especificado da matriz, especificando o parâmetro axis:

b = np.arange(12).reshape(3, 4)
b

 

b.sum(axis=0)

 

b.min(axis=1)

 

b.cumsum(axis=1)

2. Indexação e iteração de fatias

1. Matriz unidimensional

Arrays unidimensionais podem ser indexados, fatiados e iterados, assim como listas e outras sequências Python.

a=np.arange(10,20,2)
a[2]

 

a[2:5]

 

2. Matrizes multidimensionais

Cada eixo de uma matriz multidimensional pode ter um índice. Esses índices são dados como tuplas separadas por vírgulas:

def f(x, y):
    return 10 * x + y
b = np.fromfunction(f, (5, 4), dtype=int)
b

 

b[2, 3]

 

b[0:5, 1] 

 

b[1:3, :]

 

Quando menos índices do que o número de eixos são fornecidos, os índices ausentes são tratados como fatias completas:

b[-1]

 

Expressões entre parênteses em b[i] são tratadas como i , seguidas por quantas instâncias de : forem necessárias para representar os eixos restantesNumPy também permiteescrever com pontos como b[i,...] .

Os pontos (...) representam quaisquer dois pontos necessários para gerar a tupla de índice completa. Por exemplo, se x é uma matriz com 5 eixos, então

  • x[1,2,…] é equivalente a x[1,2,:,:,]
  • x[…,3] a x[:,:,::,:3]
  • x[4,...,5,:] a x[4,:,:,5,:]
c = np.array([[[  0,  1,  2],  
               [ 10, 12, 13]],
              [[100, 101, 102],
               [110, 112, 113]]])
c

 

c[1, ...]

 

c[..., 2]

 

Iterar sobre uma matriz multidimensional sobre o primeiro eixo:

for row in b:
    print(row)

 

 No entanto, se você deseja realizar uma operação em cada elemento do array, você pode usar a propriedade flat, que é um iterador sobre todos os elementos do array:

for element in b.flat:
    print(element)

Preste atenção, evite se perder, se houver algum erro, por favor deixe uma mensagem para aconselhamento, muito obrigado

Isso é tudo para esta questão. Estou fã, se você tiver alguma dúvida, sinta-se à vontade para deixar uma mensagem para discutir, vejo você na próxima edição

 

Acho que você gosta

Origin blog.csdn.net/master_hunter/article/details/127144925
Recomendado
Clasificación