1
resposta

5.4 - Métodos de Arrays Numpy - função reshape

No exemplo da aula, ao concatenar os dados km + anos em info_carros, os dados se mostram bagunçados e de uma maneira aleatória.

Como que o método .reshape reordena cada item ? levando em consideração que cada carro possui uma kilometragem, valor e ano específicos para cada qual.

1 resposta

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:

12345678910
nova_tabela = tabela.reshape(5, 2)

print(nova_tabela)

Output:

12
34
56
78
910

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))
444102003
57121991
371231990
02019
257572006

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!