Indexação por Array de Inteiros
Além da indexação básica, onde se utiliza um inteiro para um único índice, o NumPy também permite o uso de um array 1D de inteiros (uma lista de inteiros também é possível) para indexação.
Indexação por Array de Inteiros em Arrays 1D
Cada elemento do array de inteiros utilizado para indexação é tratado como um índice, assim, por exemplo, array[[0, 1, 3]] recupera os elementos nos índices 0, 1 e 3 na forma de um array 1D, considerando que array seja um array 1D. Também é possível utilizar arrays do NumPy para indexação, mas isso torna o código mais complexo.
12345678import numpy as np array = np.array([23, 41, 7, 80, 3]) # Retrieving elements at indices 0, 1 and 3 print(array[[0, 1, 3]]) # Retrieving elements at indices 1, -1 and 2 in this order print(array[[1, -1, 2]]) # IndexError is thrown since index 5 is out of bounds print(array[[2, 5]])
Indexação por Array de Inteiros em Arrays 1D
Em arrays 2D e de dimensões superiores, a indexação por array de inteiros funciona da mesma forma que em arrays 1D ao longo de cada eixo. Se utilizarmos apenas um array de inteiros para indexação, a indexação ocorre apenas em um eixo (eixo 0). Se utilizarmos dois arrays separados por uma vírgula, a indexação ocorre em ambos os eixos (eixo 0 e eixo 1).
A indexação apenas ao longo do eixo 0 usando um array de inteiros retorna um array 2D. Ao acessar elementos por meio dessa indexação, agrupamos os elementos em um novo array. Esse novo array consiste em arrays 1D, e esse agrupamento aumenta a dimensionalidade em um, resultando em um array 2D.
A indexação ao longo do eixo 0 e do eixo 1 usando dois arrays de inteiros retorna um array 1D.
Todos os arrays de inteiros utilizados para cada um dos eixos devem ter o mesmo formato.
123456789101112131415import numpy as np array_2d = np.array([ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]) # Retrieving first and the third row print(array_2d[[0, 2]]) # Retrieving the main diagonal elements print(array_2d[[0, 1, 2], [0, 1, 2]]) # Retrieving the first and third element of the second row print(array_2d[1, [0, 2]]) # IndexError is thrown, since index 3 along axis 0 is out of bounds print(array_2d[[0, 3], [0, 1]])
Como você pode ver, também podemos combinar indexação inteira básica e indexação por array de inteiros.
Mais uma vez, se pelo menos um dos índices estiver fora dos limites, um IndexError será lançado.
Falando sobre aplicações, esse tipo de indexação é útil quando é necessário selecionar elementos específicos que não estão próximos uns dos outros ou que não seguem uma ordem regular. Diferente do slicing, que trabalha com intervalos contínuos, esse método permite escolher exatamente quais elementos recuperar. É útil quando se deseja extrair dados dispersos ou reorganizar valores em um array.
1. Você está analisando os dados mensais de vendas (em milhares) de cinco produtos. Qual é a saída do código?
2. O array temperatures representa as temperaturas semanais (em °C) de três cidades durante segunda, terça e quarta-feira. Selecione a opção correta para recuperar as temperaturas de Berlim na segunda e terça-feira, e de Madri na terça-feira.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 3.7
Indexação por Array de Inteiros
Deslize para mostrar o menu
Além da indexação básica, onde se utiliza um inteiro para um único índice, o NumPy também permite o uso de um array 1D de inteiros (uma lista de inteiros também é possível) para indexação.
Indexação por Array de Inteiros em Arrays 1D
Cada elemento do array de inteiros utilizado para indexação é tratado como um índice, assim, por exemplo, array[[0, 1, 3]] recupera os elementos nos índices 0, 1 e 3 na forma de um array 1D, considerando que array seja um array 1D. Também é possível utilizar arrays do NumPy para indexação, mas isso torna o código mais complexo.
12345678import numpy as np array = np.array([23, 41, 7, 80, 3]) # Retrieving elements at indices 0, 1 and 3 print(array[[0, 1, 3]]) # Retrieving elements at indices 1, -1 and 2 in this order print(array[[1, -1, 2]]) # IndexError is thrown since index 5 is out of bounds print(array[[2, 5]])
Indexação por Array de Inteiros em Arrays 1D
Em arrays 2D e de dimensões superiores, a indexação por array de inteiros funciona da mesma forma que em arrays 1D ao longo de cada eixo. Se utilizarmos apenas um array de inteiros para indexação, a indexação ocorre apenas em um eixo (eixo 0). Se utilizarmos dois arrays separados por uma vírgula, a indexação ocorre em ambos os eixos (eixo 0 e eixo 1).
A indexação apenas ao longo do eixo 0 usando um array de inteiros retorna um array 2D. Ao acessar elementos por meio dessa indexação, agrupamos os elementos em um novo array. Esse novo array consiste em arrays 1D, e esse agrupamento aumenta a dimensionalidade em um, resultando em um array 2D.
A indexação ao longo do eixo 0 e do eixo 1 usando dois arrays de inteiros retorna um array 1D.
Todos os arrays de inteiros utilizados para cada um dos eixos devem ter o mesmo formato.
123456789101112131415import numpy as np array_2d = np.array([ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]) # Retrieving first and the third row print(array_2d[[0, 2]]) # Retrieving the main diagonal elements print(array_2d[[0, 1, 2], [0, 1, 2]]) # Retrieving the first and third element of the second row print(array_2d[1, [0, 2]]) # IndexError is thrown, since index 3 along axis 0 is out of bounds print(array_2d[[0, 3], [0, 1]])
Como você pode ver, também podemos combinar indexação inteira básica e indexação por array de inteiros.
Mais uma vez, se pelo menos um dos índices estiver fora dos limites, um IndexError será lançado.
Falando sobre aplicações, esse tipo de indexação é útil quando é necessário selecionar elementos específicos que não estão próximos uns dos outros ou que não seguem uma ordem regular. Diferente do slicing, que trabalha com intervalos contínuos, esse método permite escolher exatamente quais elementos recuperar. É útil quando se deseja extrair dados dispersos ou reorganizar valores em um array.
1. Você está analisando os dados mensais de vendas (em milhares) de cinco produtos. Qual é a saída do código?
2. O array temperatures representa as temperaturas semanais (em °C) de três cidades durante segunda, terça e quarta-feira. Selecione a opção correta para recuperar as temperaturas de Berlim na segunda e terça-feira, e de Madri na terça-feira.
Obrigado pelo seu feedback!