Converter Float Array em Int Array em NumPy

Vaibhav Vaibhav 30 janeiro 2023
  1. Converter um array 2D de Float para Int usando ndarray.astype() no NumPy
  2. Converter um array 2D de Float para Int usando ndarray.asarray()
Converter Float Array em Int Array em NumPy

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.

  • a refere-se à matriz de entrada que deve ser convertida.
  • dtype refere-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.
  • order e like também são outros argumentos opcionais. Ordem refere-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.

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.