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!