Método 1: Usando para Loop
Neste método, iterará a matriz 1-D (dimensional) com a ajuda do loop for. Esta é apenas uma maneira semelhante às outras linguagens de programação C, C ++, Python, etc.
ImportNumpyasnpSaída:
0 1 2 3 4 5 6 7 8 9 10 11Linha 1: Nós importamos a biblioteca Numpy como NP. Para que possamos usar este espaço para nome (NP) em vez do nome completo Numpy.
Linha 2: Criamos uma matriz de 12 elementos que se parecem abaixo:
Array ([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])Linha 3 a 4: Agora estamos usando um loop for para iterar cada elemento da matriz e imprimir esse valor do elemento.
Método 2: Usando o loop while
Neste método, iterará a matriz 1-D (dimensional) com a ajuda do while loop.
ImportNumpyasnpSaída:
0Linha 4 a 8: Neste loop enquanto o loop continua até o tamanho da matriz (arr. tamanho) é menor que o arr [i] porque, como sabemos, o último valor do elemento será 11 e o tamanho da matriz é 12. Se a condição for verdadeira, imprima esse elemento e incremente o valor da iteração (i) por 1. Se a contagem de valor de iteração for igual ao tamanho da matriz, o intervalo ligará e sairá do loop. O arr.O tamanho retornará o número de elementos na matriz.
Método 3: iterando uma matriz bidimensional
Para iterar a matriz bidimensional, precisamos do loop aninhado. Mas se usarmos o single para loop, então iteramos apenas sobre a linha.
Vamos entender isso com um exemplo.
Arr = np.ARANGE (12).remodelar (4,3)Saída:
[0 1 2]Linha 2 a 3: Temos a saída em termos de linha porque, com a ajuda do loop único, não conseguimos iterar cada célula da matriz 2-D.
Usando o loop aninhado.
Arr = np.ARANGE (12).remodelar (4,3)Saída:
0 1 2Linha 2 a 5: No programa acima, usamos dois loops para iterar uma matriz 2D. O primeiro loop leva o valor da linha do ARR, e o próximo loop acessará todos os elementos dessa matriz de linha e impressam na tela, como mostrado na saída.
Método 4: Usando o método de achatação
Outro método é o método achatado. O método achatado converte a matriz 2-D em uma matriz unidimensional. Não precisamos de dois loops para iterar a matriz 2-D se usarmos o método achatado.
Arr = np.ARANGE (12).remodelar (4,3)Saída:
0 1 2 3 4 5 6 7 8 9 10 11Linha 2 a 3: O método Flatten () converteu a matriz 2-D em uma matriz 1-D, e nós a iteramos exatamente da mesma maneira. Aqui, não precisamos usar dois para loop.
Método 5: Usando o objeto Nditer
O Numpy também fornece um método adicional para iterar a matriz 2-D. Este método é chamado de método Nditer. No exemplo anterior, também podemos tentar com o método Nditer, conforme indicado abaixo:
Arr = np.ARANGE (12).remodelar (4,3)Saída:
0 1 2 3 4 5 6 7 8 9 10 11Linha 2 a 3: Passamos nossa matriz para o método nditer (), e agora podemos acessar cada elemento assim como o método flatten ().
Ordem de iteração do Nditer
Também podemos controlar o método de acesso do Nditer por outro parâmetro chamado Ordem. Se especificarmos o pedido como C, o Nditer acessa os elementos em termos horizontais e, se especificarmos a ordem como f, ele acessará os elementos verticalmente. Vamos entender isso com um exemplo de cada pedido.
Ordem como C:
# C iteração do pedidoSaída:
0 1 2 3 4 5 6 7 8 9 10 11Se, imprimimos apenas o ARR, obtemos a saída como dê abaixo:
Array ([[0, 1, 2],Agora, como usamos o loop nditer com a ordem como C. Então, ele acessará os elementos horizontalmente. Portanto, se virmos na saída da matriz acima, nossos valores devem ser 0,1,2, então 3, 4, 5 e assim por diante. Portanto, nosso resultado também está na mesma sequência, que mostra que a ordem C funciona horizontalmente.
Encomende como f:
# F iteração de pedidoSaída:
0 3 6 9 1 4 7 10 2 5 8 11Se, imprimimos apenas o ARR, obtemos a saída como dê abaixo:
Array ([[0, 1, 2],Agora, como usamos o loop nditer com a ordem como f. Então, ele acessará os elementos verticalmente. Portanto, se vemos na saída da matriz acima, nossos valores devem ser 0,3,6,9, então 1, 4, 7,10 e assim por diante. Portanto, nosso resultado também está na mesma sequência, que mostra que a ordem f funciona verticalmente.
Método 6: Modificação para os valores da matriz Numpy ao usar o Nditer
Por padrão, o Nditer trata os elementos da matriz como somente leitura, e não podemos modificá-la. Se tentarmos fazer isso, o Numpy levantará um erro.
Mas, se queremos editar os valores da matriz Numpy, temos que usar outro parâmetro chamado op_flags = ['readWrite'].
Vamos entender isso com um exemplo:
para Cell Innp.nditer (arr):Saída:
---------------------------------------------------------------------------Com op_flags = ['readWrite'] parâmetro.
para Cell Innp.nditer (arr, op_flags = ['readWrite']):OPUT:
Array ([[ -3, -2, -1],Conclusão:
Então, neste artigo, estudamos todos os métodos para iterar a matriz Numpy. O melhor método é Nditer. Este método Nditer é mais avançado para lidar com os elementos da matriz Numpy. Aqui neste artigo, todos os conceitos básicos ficarão claros e você também pode analisar alguns métodos mais avançados do Nditer, como a iteração de redução. Estes são os métodos como iterações de redução, que são as técnicas para lidar com os elementos da matriz numpy em diferentes formas.
O código deste artigo está disponível no link abaixo:
https: // github.com/shekharpandey89/numpy-columns-aliteations-methods