NumPy Tutorial - NumPy Tipo de Dados e Conversão

Jinku Hu 30 janeiro 2023
  1. Tipo de dados NumPy
  2. Conversão do tipo de dados
NumPy Tutorial - NumPy Tipo de Dados e Conversão

O tipo de dados - dtype na NumPy é diferente dos tipos de dados primitivos em Python, por exemplo, dtype tem o tipo com maior resolução que é útil no cálculo dos dados.

Tipo de dados NumPy

Tipo de dados Descrição
bool Booleano
int8 Inteiro de 8 bits assinado
int16 Número inteiro assinado de 16 bits
int32 Número inteiro assinado de 32 bits
int64 Inteiro de 64 bits assinado
uint8 Inteiro de 8 bits sem assinatura
uint16 Inteiro de 16 bits sem assinatura
uint32 Inteiro de 32 bits sem assinatura
uint64 Inteiro de 64 bits sem assinatura
float16 Número de ponto flutuante de 16 bits
float32 Número de ponto flutuante de 32 bits
float64 Número de ponto flutuante de 64 bits
complex64 Número complexo de 64 bits
complex128 Número complexo de 128 bits

Ao criar um novo dado ndarray, você pode definir o tipo de dados do elemento por string ou constantes de tipo de dados na biblioteca NumPy.

import numpy as np

# by string
test = np.array([4, 5, 6], dtype="int64")

# by data type constant in numpy
test = np.array([7, 8, 8], dtype=np.int64)

Conversão do tipo de dados

Após a instância de dados ser criada, você pode mudar o tipo do elemento para outro tipo com o método astype(), como de inteiro para flutuante e assim por diante.

>>> import numpy as np
>>> test = np.array([11, 12, 13, 14], dtype="int32")
>>> x = test.astype('float32')
>>> x
array([11., 12., 13., 14.], dtype=float32)
>>> test, test.dtype
(array([11, 12, 13, 14]), dtype('int32'))
Atenção
O método de conversão do tipo de dados só retornará uma nova instância de array e os dados e informações da instância de array original não foram alterados.
Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook