Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Números floats?

Minha dúvida se refere ao resultado do array dados criado abaixo:

import numpy as n
 km = n.array([44410., 5712., 37123., 0., 25757.])
 anos = n.array([2003, 1991, 1990, 2019, 2006])
 dados = n.array([km, anos])
 dados
array([[44410.,  5712., 37123.,     0., 25757.],
       [ 2003.,  1991.,  1990.,  2019.,  2006.]])

este ponto final após os números é para indicar que ele é um número de tipo float?

2 respostas
solução!

Olá Yasmin, tudo certo?

Examente isso, o "."(ponto) ao final da parte inteira de um número quer dizer que ele é do tipo float. O array do numpy, diferente das listas nativas do python, é um array homogêneo, ou seja, só aceita que seus elementos sejam de apenas um tipo. Como você criou o array dados com outros dois arrays (um de elementos que são do tipo float e outro de elementos que são so tipo int) ele vai aceitar apenas um tipo, no caso o tipo float para não perder informações do primeiro array (km).

Uma maneira fácil de verificar o tipo dos elementos de um array do numpy é chamando o atributo dtype:

import numpy as np

km = np.array([44410., 5712., 37123., 0., 25757.])
anos = np.array([2003, 1991, 1990, 2019, 2006])
dados = np.array([km, anos])

print(km.dtype)
print(anos.dtype)
print(dados.dtype)

Que vai gerar a saída:


float64
int64
float64

Espero ter ajudado e bons estudos!

Olá Yasmin tudo certinho??

Exatamente como foi observado por você! Este ponto ao final dos números está relacionado ao tipo float deles.

Se tiver o interesse em trabalhar com inteiros, você consegue converter conforme o exemplo a seguir:

a = np.array( [1.1, 2.2, 3.3] )
b = a.astype('int')
print b
[1, 2, 3]

Espero ter ajudado e qualquer dúvida é só retornar aqui! =)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software