HOWTO · NumPy
Converter Float Array em Int Array em NumPy
Aprenda a converter um array NumPy flutuante 2D em um array NumPy inteira 2D em Python
Nesta página
Freqüentemente, temos que converter valores flutuantes em valores inteiros para uma variedade de casos de uso. Semelhante é o caso com arrays Python e arrays NumPy.
Usando algumas funções de NumPy, podemos facilmente converter arrays NumPy 2D flutuantes em arrays NumPy inteiros 2D.
Neste artigo, falaremos sobre dois desses métodos, ndarray.astype() e numpy.asarray().
Converter um array 2D de Float para Int usando ndarray.astype() no NumPy
As matrizes NumPy são do tipo ndarray. Esses objetos têm funções embutidas, e uma dessas funções é astype(). Esta função é usada para criar uma cópia de um array NumPy de um tipo específico. Este método aceita cinco argumentos, a saber, dtype, order, casting, subok e copy. dtype refere-se ao tipo de dados do array copiado. order é um argumento opcional e controla o layout da memória do array resultante. Todas as outras opções são opcionais.
Para saber mais sobre os outros parâmetros desta função, consulte a documentação oficial desta função aqui
Consulte o código a seguir para entender melhor essa função.
import numpy as np
myArray = np.array(
[[1.0, 2.5, 3.234, 5.99, 99.99999], [0.3, -23.543, 32.9999, 33.0000001, -0.000001]]
)
myArray = myArray.astype(int)
print(myArray)
Resultado:
[[ 1 2 3 5 99]
[ 0 -23 32 33 0]]
Converter um array 2D de Float para Int usando ndarray.asarray()
Em segundo lugar, podemos usar a função asarray(). Esta função aceita quatro argumentos, a, dtype, order e like.
arefere-se à matriz de entrada que deve ser convertida.dtyperefere-se ao tipo de dados para o qual a matriz deve ser convertida. Curiosamente,dtypeé um argumento opcional e seu valor padrão é inferido da própria entrada.ordereliketambém são outros argumentos opcionais.Ordemrefere-se ao layout de memória do array de saída.
Para saber mais sobre os argumentos desta função, consulte a documentação oficial desta função aqui
import numpy as np
myArray = np.array([[1.923, 2.34, 23.134], [-24.000001, 0.000001, -0.000223]])
myArray = np.asarray(myArray, dtype=int)
print(myArray)
Resultado:
[[ 1 2 23]
[-24 0 0]]
No código acima, o tipo de dados é mencionado como int e a matriz de saída também é um array NumPy de número inteiro.