Olá, Vinícius, tudo bom?
Na verdade, o método reshape não reordena exatamente cada item. Utilizamos o reshape()
quando queremos redimensionar o nosso array. Para tentar entender melhor sobre ele vamos trabalhar em um exemplo:
import numpy as np
tabela = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
Output:
nova_tabela = tabela.reshape(5, 2)
print(nova_tabela)
Output:
Neste exemplo eu tinha um array com 1 linha e 10 colunas (1,10) quando eu usei o método reshape()
e digo que esse array vai ter 5 linhas e 2 colunas, ou seja, com reshape(5,2)
eu quero transformar a dimensão desse array.
Sabendo disso vamos pegar o exemplo da aula, onde tínhamos duas variáveis tipo array que foram concatenadas, km
e anos
certo?
km = [44410, 5712, 37123, 0, 25757]
anos = [2003, 1991, 1990, 2019, 2006]
info_carros = km + anos
info_carros
Output:
[44410, 5712, 37123, 0, 25757, 2003, 1991, 1990, 2019, 2006]
Quando concatenamos o array km
com anos
ao final de um array(km
) entrara outro(anos
) certo?
Agora quando usamos o reshape()
, e tentamos separar esse novo array em dois, podemos literalmente dividi-lo em 2. Então podemos perceber que:
1- Os dados estão ordenados (metade km
e outra metade anos
)
2- Se dividir esse array em dois eu consigo separar essas informações em uma só variável. Então passamos:
np.array(info_carros).reshape((5,2))
| |
---|
44410 | 2003 |
5712 | 1991 |
37123 | 1990 |
0 | 2019 |
25757 | 2006 |
Agora eu consigo ver as informações com a dimensão desejada.
Se ainda tiver alguma dúvida, estou por aqui. Ótimos estudos e grande abraço!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!