Boa tarde
Seria uma má pratica de codigo, no lugar do
contador.reshape((5, 2), order='C') para ordenar o array
eu usar o .T e ficar
np.array(info_carros).reshape((2, 5)).T ?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Boa tarde
Seria uma má pratica de codigo, no lugar do
contador.reshape((5, 2), order='C') para ordenar o array
eu usar o .T e ficar
np.array(info_carros).reshape((2, 5)).T ?
Bom dia Paulo Vitor, tudo bem com você?
Antes de te responder, vamos pensar no que o reshape faz. O reshape dá uma nova forma a uma matriz sem alterar seus dados. Agora, vamos olhar o formato da matriz info_carros no momento de criação. Temos o formato 1 linha e 10 colunas sendo:
[44410, 5712, 37123, 0, 25757, 2003, 1991, 1990, 2019, 2006]
Desconsiderando o nosso cenário, pensando na matriz em si, teríamos duas formas de remodelar ela, uma sendo para 2 linhas e 5 colunas ou apenas (2,5) e a outra para 5 linhas e 2 colunas ou apenas (5,2).
Considerando o nosso cenário onde os primeiros 5 elementos são km dos carros 44410, 5712, 37123, 0, 25757 e os últimos cinco são os respectivos os anos 2003, 1991, 1990, 2019, 2006, e utilizando apenas o reshape, qual o formato separaria as informações de km e ano? O único formato que atende a nossa necessidade é a matriz (2,5), pois, teríamos na primeira linha km e a segunda linha ano. Vamos fazer isso então:
np.array(info_carros).reshape((2,5), order=’C’)
[[44410 5712 37123 0 25757]
[ 2003 1991 1990 2019 2006]]
Legal, com isso já conseguimos organizar como queríamos. Olhando esse novo formato da matriz (2,5), percebemos que agora podemos apresentar as informações também da forma (5,2): Primeira coluna km e segunda coluna ano. Como transformamos linhas em colunas de uma matriz? Exatamente da forma que você fez! Utilizando a função T, que entrega a matriz transposta:
np.array(info_carros).reshape(2,5).T[[44410 2003]
[ 5712 1991]
[37123 1990]
[ 0 2019]
[25757 2006]] Respondendo a sua pergunta, não há boa ou má prática nesse caso, eu diria que a escolha entre uma matriz com (2,5) e a sua transposta (5,2), vai depender de como você vai precisar dessa matriz para futuras manipulações.
Espero ter ajudado e bons estudos =D