Indexação Numpy

Indexação Numpy
“Numpy é um pacote em python usado para cálculos em matrizes n-dimensionais. Eixos são o que Numpy se refere como dimensões, e uma operação é o que é a indexação. Para recuperar uma coleção específica de valores de uma matriz Numpy, use a função de indexação. O valor e a colocação do valor na matriz são coisas diferentes; Assim, precisamos ter em mente que o índice em um ndarray começa em zero. Neste artigo, estudaremos a indexação Numpy e explicaremos como recuperar valores de uma matriz usando seus índices.”

O que é indexação Numpy?

Para acessar valores em matrizes unidimensionais e multidimensionais, o Python usa indexação de matriz Numpy. A indexação de ordem C é usada por Numpy. Consequentemente, o local da memória que mais muda é normalmente representado pelo índice final, enquanto o primeiro índice normalmente indica o mesmo local de memória.

O Python padrão tem a sintaxe “x [obj]”, onde x é uma matriz, e obj (um objeto) é uma seleção. Eles podem ser usados ​​para indexar ndarrays, dependendo do tipo de objeto. Os dois tipos de indexação que serão cobertos hoje são indexação básica e indexação avançada. Os exemplos que usaremos facilitam a compreensão de como usar a indexação ao se referir a dados em uma matriz.

Exemplo 1

O primeiro caso é a indexação básica. Indexação e divisão ao longo das dimensões da matriz são conhecidas como indexação básica. Existem três tipos de indexação básica: indexação de elementos, fatiamento básico e ferramentas de indexação dimensional, que incluem “elipses” e “novos eixos.”

Nosso primeiro caso demonstrará o uso da indexação de elementos únicos na indexação básica.

importar numpy como np
a = np.ARANGE (20)
Imprimir (a [8])
Imprimir (a [-5])

Como podemos ver na saída, a indexação básica funciona exatamente como qualquer outra sequência Python padrão. É baseado em zero e permite que os índices negativos comecem no final da matriz. Aqui, usando o código, primeiro definimos a variável "A" e passamos o valor usando o NP.Função de arange e depois selecionou o número inteiro negativo 5 para calcular a saída.

Exemplo 2

Nosso segundo exemplo demonstrará o uso de fatiamento básico. O fatiamento básico estende o conceito básico de fatiar em python para n dimensões, e ocorre quando "Obj" é uma combinação de objetos de fatia e números inteiros ou um objeto de fatia inteira. A sintaxe da fatia básica é x: y: z, onde x representa o índice de início, y representa o índice de parada e z é a etapa diferente de zero.

Agora vamos olhar para o código:

importar numpy como np
a = np.Array ([7, 8, 9, 10, 11, 12, 13, 14, 15])
Imprimir (A [2: 11: 3])

O resultado que obtemos é:

X e Y negativos são interpretados como n + x e + y, onde n representa o número de elementos na dimensão correspondente. Z negativo fará com que se aproximem dos índices menores. Usando os mesmos valores acima, executamos o código a seguir para obter o resultado da matriz. O código é um [-7: 15], e a matriz é seu resultado.

A saída é dada aqui.

Para as seguintes dimensões, supõe -se que haja menos de N objetos na tupla de seleção. O código é:

Aqui (2, 3, 1) é gerado, como você pode ver abaixo.

Exemplo 3

Neste exemplo, usaremos as ferramentas de indexação dimensional elipseis e newaxis, bem como uma combinação dos dois.

Veja a tela anexada abaixo.

Ambos os códigos são iguais um ao outro, e a execução de um desses códigos fornecerá a mesma saída.

Aqui está uma ideia, devemos ingressar em dois tipos de indexação, o básico e avançado:

a […, 0]
a [:, :, 0
importar numpy como np
Imprimir ('Combinação de indexação básica e avançada:')
a = np.ARANGE (6)
impressão (A [:, NP.newaxis] + A [NP.newaxis ,:])

A variável definida "A" usa o NP.ARANGE FUNCIONE E PASSA O VALOR “6”. A segunda linha de código declara o valor da variável como “[: np. newaxis] + A [NP.newaxis ,:] ”. A saída para executar o código é como abaixo.

Agora passamos para a indexação avançada na indexação Numpy.

Exemplo 4

Este caso analisa o primeiro tipo de indexação avançada, chamada de indexação inteira. Cada elemento da primeira dimensão é emparelhado com um elemento da segunda dimensão ao indexar com números inteiros. Como resultado, os elementos correspondentes são escolhidos com os índices de elemento (0,0), (1,0) e (2,1) neste exemplo.

importar numpy como np
a = np.Array ([[7, 8], [9, 10], [11, 12]])
impressão (a [[0, 1, 1], [0, 0, 1]]))

A saída é:

Exemplo 5

Para este exemplo, devemos tentar combinar indexação básica e indexação avançada.

importar numpy como np
a = np.Array ([[7, 8, 9], [10, 11, 12],
[13, 14, 15], [16, 17, 18]]))
Imprimir (a [1: 2, 1: 3])
Imprimir (A [1: 2, [1,2]])

Primeiro, entramos no comando para importar Numpy, depois definimos a variável "A" e depois passamos o valor usando o NP.função da matriz. A saída que obtemos é:

Exemplo 6

Vamos falar sobre expressões booleanas como o índice. É uma expressão lógica que resulta em "verdadeiro" ou "falsa". Somente os elementos que satisfazem a expressão booleana são devolvidos. Usando este método, os valores de elemento necessários são filtrados.

Nosso cenário é selecionar um número maior que 15 de alguns valores. O código que executamos é: '

importar numpy como np
a = np.Array ([5, 8, 15, 17, 20])
Imprimir (a [A> 15])

Depois de definir a variável e passar os valores acima para o NP.Função da matriz, imprimimos um valor maior que o número 15 e obtemos a seguinte saída:

Se houver apenas uma matriz booleana e nenhuma matriz inteira, a forma da saída será unidimensional e conterá o número de elementos reais da matriz booleana, seguidos pelas dimensões restantes da matriz sendo indexada. Vamos executar o seguinte código:

importar numpy
ABC = Numpy.ARANGE (15).remodelar (3, 5)
yz = abc> 20
Imprimir (yz [:, 3])

As funções que estamos usando neste código são as de NP.Arange () e Reshape () Após definir a variável como "ABC" e a segunda variável como "yz" cujo valor é "ABC" é maior que 15.

Ao executar o código, obtemos o seguinte resultado.

Conclusão

Neste artigo, aprendemos a definição de indexação Numpy, bem como dois tipos diferentes de indexação numpy, divididos em várias categorias e funções. Através de vários exemplos, aprendemos maneiras diferentes de usar a indexação Numpy na forma de indexação básica e avançada. Também combinamos os tipos de indexação para verificar qual seria o resultado. Experimente os exemplos fornecidos e veja como eles funcionam para você no caminho para aprender sobre a indexação Python Numpy.