Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Retorno dos dados de resize com formatação diferente

bom dia,

Acontece um erro na formatação dos dados quando insiro um número com poucos digitos, alguém sabe me explicar pq? segue explicação abaixo,

No exemplo do dados_new.resize foi feito uma conta da km por ano do carro retornando um valor a ser adicionado a terceira linha que criamos

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Porém quando adiciono um número como 3 por exemplo, ele me devolve uma formatação diferente dos números da lista, como no exemplo abaixo:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

já quando coloco um número maior, acima de 3 digitos ele volta a formatação 'normal'

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Bom dia, Rafael! Tudo bem?

A biblioteca Numpy, por padrão, define a formatação que ela acha mais adequada para a impressão do array e quando o maior valor do array é 1000 vezes maior que o menor valor do array, o Numpy escolhe mostrar os valores em notação científica, como no exemplo:

import numpy as np
a = np.array([3, 3000]) # 3000/3 <= 1000
print(a) # [   3 3000]
b = np.array([3, 3000.001]) # 3000.001/3 > 1000
print(b) # [3.000000e+00, 3.000001e+03]

No caso do seu código, vemos que o primeiro valor do array, 44410, já é maior que 1000 vezes o 3 e, por isso o Numpy converteu a formatação para notação científica.

Uma forma de definir a formatação para impressão como notação decimal é utilizar o método numpy.set_printoptions() com o argumento suppress = True, que permite a impressão como números de ponto fixo, como no exemplo:

import numpy as np
np.set_printoptions(suppress = True) #suprime a notação exponencial
b = np.array([3, 3000.001]) # 3000.001/3 > 1000
print(b) # [   3.    3000.001]

No seu código podemos colocar do seguinte modo: Imagem com fundo branco onde possui três células sendo a primeira delas com os dados originais pelo problema relatado pelo aluno Rafael, onde o mesmo adicionou o valor 3 na posição 2 da variável dados_new do curso (dados_new[2]=3), dando como resultado em notação científica. Na segunda célula temos a opção np.set_printoptions(suppress = True). Já a terceira célula possui o resultado em notação decimal.Para mais informações sobre o método, você pode consultar a documentação.

Espero ter te ajudado ;) Qualquer dúvida estou à disposição!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!