Comprendiendo los Tipos de Datos de NumPy

PythonPythonBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Esta práctica proporcionará una guía paso a paso para entender los diferentes tipos de datos disponibles en NumPy y cómo modificar el tipo de datos de una matriz. NumPy admite una amplia variedad de tipos numéricos, incluyendo booleanos, enteros, números de punto flotante y números complejos. Comprender estos tipos de datos es importante para realizar diversas tareas de cálculo numérico y análisis de datos utilizando NumPy.

Nota: Puedes escribir código en 04-data-types.ipynb. Algunas operaciones de impresión se omiten en los pasos y puedes imprimir la salida según sea necesario.

Comprendiendo los Tipos de Datos

NumPy admite una variedad de tipos numéricos que están estrechamente relacionados con los del lenguaje de programación C. A continuación, se presentan algunos de los tipos de datos más comúnmente utilizados en NumPy:

  • numpy.bool_: Booleano (True o False) almacenado como un byte
  • numpy.byte: Carácter con signo (definido por la plataforma)
  • numpy.ubyte: Carácter sin signo (definido por la plataforma)
  • numpy.short: Entero corto (definido por la plataforma)
  • numpy.ushort: Entero corto sin signo (definido por la plataforma)
  • numpy.intc: Entero (definido por la plataforma)
  • numpy.uintc: Entero sin signo (definido por la plataforma)
  • numpy.int_: Longitud (definido por la plataforma)
  • numpy.uint: Longitud sin signo (definido por la plataforma)
  • numpy.longlong: Longitud larga (definido por la plataforma)
  • numpy.ulonglong: Longitud larga sin signo (definido por la plataforma)
  • numpy.half / numpy.float16: Flotante de media precisión
  • numpy.single: Flotante de precisión simple (definido por la plataforma)
  • numpy.double: Flotante de doble precisión (definido por la plataforma)
  • numpy.longdouble: Flotante de precisión extendida (definido por la plataforma)
  • numpy.csingle: Número complejo representado por dos flotantes de precisión simple
  • numpy.cdouble: Número complejo representado por dos flotantes de doble precisión
  • numpy.clongdouble: Número complejo representado por dos flotantes de precisión extendida

Estos tipos de datos tienen definiciones dependientes de la plataforma, pero NumPy también proporciona alias de tamaño fijo para mayor conveniencia.

Trabajando con Tipos de Datos

Los tipos de datos de NumPy se representan como objetos dtype (tipo de datos). Una vez que has importado NumPy usando import numpy as np, puedes acceder a los tipos de datos usando np.bool_, np.float32, etc.

Puedes usar los tipos de datos como funciones para convertir números de Python en escalares de matriz, secuencias de números de Python en matrices de ese tipo o como argumentos para la palabra clave dtype en muchas funciones o métodos de NumPy. Aquí hay algunos ejemplos:

x = np.float32(1.0)
## x es ahora un escalar de matriz de tipo float32 con el valor 1.0

y = np.int_([1,2,4])
## y es ahora una matriz de enteros con los valores [1, 2, 4]

z = np.arange(3, dtype=np.uint8)
## z es ahora una matriz de tipo uint8 con los valores [0, 1, 2]

También puedes referirte a los tipos de matriz usando códigos de carácter, aunque se recomienda usar objetos dtype en su lugar. Por ejemplo:

np.array([1, 2, 3], dtype='f')
## devuelve una matriz con los valores [1., 2., 3.] y dtype float32

Para convertir el tipo de una matriz, puedes usar el método .astype() o el tipo mismo como una función. Por ejemplo:

z.astype(float)
## devuelve la matriz z con dtype float64

np.int8(z)
## devuelve la matriz z con dtype int8

Obtener el Tipo de Datos de una Matriz

Para determinar el tipo de datos de una matriz, puedes acceder al atributo dtype. Por ejemplo:

z.dtype
## devuelve el dtype de la matriz z, que es uint8

El objeto dtype también contiene información sobre el tipo, como su ancho en bits y el orden de los bytes. Puedes usar el objeto dtype para consultar propiedades del tipo, como si es un entero. Por ejemplo:

d = np.dtype(int)
## crea un objeto dtype para int

np.issubdtype(d, np.integer)
## devuelve True, lo que indica que d es un subdtype de np.integer

np.issubdtype(d, np.floating)
## devuelve False, lo que indica que d no es un subdtype de np.floating

Resumen

En esta práctica, aprendiste sobre los diferentes tipos de datos numéricos disponibles en NumPy y cómo trabajar con ellos. Puedes usar objetos dtype para convertir números de Python en escalares de matriz, crear matrices de tipos específicos y modificar el tipo de datos de una matriz. Comprender los tipos de datos es importante para realizar cálculos numéricos y tareas de análisis de datos utilizando NumPy.