Tutorial de Numpy - Tipo y conversión de datos de NumPy

Jinku Hu 30 enero 2023
  1. Tipo de datos de NumPy
  2. Conversión del tipo de datos
Tutorial de Numpy - Tipo y conversión de datos de NumPy

Tipo de datos - dtype en NumPy es diferente de los tipos de datos primitivos en Python, por ejemplo, dtype tiene el tipo con mayor resolución que es útil en el cálculo de datos.

Tipo de datos de NumPy

Tipo de datos Descripción
bool Booleano
int8 Entero firmado de 8 bits
int16 Entero firmado de 16 bits
int32 Entero firmado de 32 bits
int64 Entero con signo de 64 bits
uint8 Entero sin signo de 8 bits
uint16 Entero de 16 bits sin signo
uint32 Entero sin signo de 32 bits
uint64 Entero sin signo de 64 bits
flota16 Número de punto flotante de 16 bits
flota32 Número de coma flotante de 32 bits
float64 Número de punto flotante de 64 bits
complex64 Número complejo de 64 bits
complex128 Número complejo de 128 bits

Cuando se crea un nuevo dato ndarray, se puede definir el tipo de datos del elemento por cadena o por constantes de tipo de datos en la 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)

Conversión del tipo de datos

Después de que se cree la instancia de datos, puede cambiar el tipo del elemento a otro tipo con el método astype(), como de entero a flotante y así sucesivamente.

>>> 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'))
Atención
El método de conversión de tipo de datos sólo devolverá una nueva instancia de array, y los datos e información de la instancia de array original no han cambiado.
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