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 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.