Não entendi muito bem a lógica na implementação do comando "reshape". Seria possível um detalhamento maior nesta questão? Obrigado!!
Não entendi muito bem a lógica na implementação do comando "reshape". Seria possível um detalhamento maior nesta questão? Obrigado!!
Olá, Lucas. Tudo bom?
Então Lucas, utilizamos o reshape() quando queremos redimensionar o nosso array, então para exemplificar vamos entender melhor sobre ele nesse exemplo:
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])Output:
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
|---|
Se temos a intenção, por exemplo, de separar esse conjunto de números em 4 linhas e em 3 colunas, podemos usar o reshape() para isso. Lembrando que passamos o (numero de linhas, número de colunas) ou (x,y)
newarr = arr.reshape(4, 3)
print(newarr)Output:
| 1 | 2 | 3 |
| 4 | 5 | 6 |
| 7 | 8 | 9 |
| 10 | 11 | 12 |
Perceba que eu não poderia fazer um reshape() com 5 linhas e 3 colunas, pois a nova dimensão tem que ser compatível com a anterior, ou seja, você tem que fatorar a dimensão do array inicial. Por isso conseguimos redimensionar o array de (12,) para (4,3) pois 4x3 = 12.
Na aula tínhamos um array chamado z com 10000 linhas ou (10000,) e tínhamos que o xx tinha a dimensão de (100,100), por isso redimensionamos o z para o tamanho de xx pois 100x100= 10000.
Se ainda tiver alguma dúvida, estou por aqui. Ótimos estudos e grande abraço!
Caro Paulo, agradeço muito a sua pronta resposta. Consegui entender sim! Revisitei os códigos da aula com a sua explicação e tudo ficou claro para mim. Abraços!