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 ?
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