Introducción a los tipos de datos NumPy
Un tipo de datos es un atributo asociado con los datos que define el tipo de valores que pueden contener los datos, el tipo de operaciones que se pueden realizar en él y, lo más importante, la cantidad de espacio de memoria que requiere. Algunos de los tipos de datos muy comunes son enteros, reales, booleanos y char. En este artículo, intentaremos comprender varios tipos de datos compatibles con Numpy. Numpy es un paquete de Python utilizado para la informática científica. Está escrito puramente en el lenguaje de programación C. Por lo tanto, podemos suponer que los tipos de datos en Numpy son más o menos una actualización de los tipos de datos C.
Tipos de datos de Numpy
Los diversos tipos de datos admitidos por numpy son:
Tipo de datos Numpy | Tipo de datos C estrechamente asociado | Tamaño de almacenamiento | Descripción |
np.bool_ | bool | 1 byte | puede contener valores booleanos, como (Verdadero o Falso) o (0 o 1) |
np.byte | char firmado | 1 byte | puede contener valores de 0 a 255 |
np.ubyte | char sin firmar | 1 byte | puede contener valores de -128 a 127 |
np.short | corto firmado | 2 bytes | puede contener valores de -32, 768 a 32, 767 |
np.ushort | corto sin firmar | 2 bytes | puede contener valores de 0 a 65, 535 |
np.uintc | unsigned int | 2 o 4 bytes | puede contener valores de 0 a 65, 535 o de 0 a 4, 294, 967, 295 |
np.int_ | largo | 8 bytes | puede contener valores desde -9223372036854775808 hasta 9223372036854775807 |
np.uint | sin firmar largo | 8 bytes | 0 a 18446744073709551615 |
np.longlong | largo largo | 8 bytes | puede contener valores desde -9223372036854775808 hasta 9223372036854775807 |
np.ulonglong | sin firmar largo largo | 8 bytes | 0 a 18446744073709551615 |
np.half / np.float16 | - | permite la precisión de medio flotador con Formato: bit de signo, exponente de 5 bits, mantisa de 10 bits |
|
np.single | flotador | 4 bytes | permite precisión de flotación simple Formato: bit de signo, exponente de 8 bits, mantisa de 23 bits |
np.double | doble | 8 bytes | permite precisión de doble flotación Formato: bit de signo, exponente de 11 bits, mantisa de 52 bits. |
np.longdouble | doble largo | 8 bytes | extensión del flotador |
np.csingle | complejo flotante | 8 bytes | puede mantenerse complejo con partes reales e imaginarias hasta flotador de precisión simple |
np.cdouble | complejo doble | 16 bytes | puede mantenerse complejo con partes reales e imaginarias hasta flotador de doble precisión |
np.clongdouble | complejo doble largo | 16 bytes | extensión de flotador para número complejo |
np.int8 | int8_t | 1 byte | puede contener valores de -128 a 127 |
np.int16 | int16_t | 2 bytes | puede contener valores de -32, 768 a 32, 767 |
np.int32 | int32_t | 4 bytes | puede contener valores de -2, 147, 483, 648 a 2, 147, 483, 647 |
np.int64 | int64_t | 8 bytes | puede contener valores desde -9223372036854775808 hasta 9223372036854775807 |
np.uint8 | uint8_t | 1 byte | puede contener valores de 0 a 255 |
np.uint16 | uint16_t | 2 bytes | puede contener valores de 0 a 65, 535 |
np.uint32 | uint32_t | 4 bytes | puede contener valores de 0 a 4, 294, 967, 295 |
np.uint64 | uint64_t | 8 bytes | puede contener valores de 0 a 18446744073709551615 |
np.intp | intptr_t | 4 bytes | un entero con signo utilizado para indexar |
np.uintp | uintptr_t | 4 bytes | un entero sin signo utilizado para sostener un puntero |
np.float32 | flotador | 4 bytes | precisión de flotador simple |
np.float64 | doble | 8 bytes | precisión de doble flotador |
np.complex64 | complejo flotante | 8 bytes | precisión de flotación simple en números complejos |
np.complex128 | complejo doble | 16 bytes | precisión de doble flotación en números complejos |
Ejemplos de tipos de datos NumPy
Ahora, comprendamos cómo se usa un tipo de datos numpy en particular.
Ejemplo 1
Crear un objeto de tipo de datos
dt = np.dtype(np.int8)
Salida:
Ejemplo # 2
Encontrar el tamaño de un tipo de datos
dt = np.dtype(np.int8)
name = dt.name
sizeoftype = dt.itemsize
print('name:', name, 'size:', sizeoftype)
Salida:
Ejemplo # 3
Crear un objeto de tipo de datos usando símbolos únicos para cada tipo de datos
Cada tipo de datos en numpy tiene un código de carácter asociado que lo identifica de forma exclusiva.
dt = np.dtype('i4')
Salida:
Ejemplo # 4
Usar tipos de datos para crear una matriz estructurada
employee_info = np.dtype((('name', 'S10'), ('age', 'i1'), ('salary', 'f4'), ('rating', 'f4')))
print(employee_info)
Salida:
a = np.array((('Karthik', 31, 20000, 3.84), ('Rita', 25, 25123.34, 4.41)), dtype = employee_info)
print (a)
Salida:
Conclusión
Los tipos de datos Numpy son más o menos como los tipos de datos C. Se pueden clasificar en términos generales en bool, byte, int, float, double y complex. Es obligatorio que los buenos programadores entiendan cómo se almacenan y manipulan los datos. Esto se puede lograr entendiendo los tipos de datos de manera efectiva.
Artículos recomendados
Esta es una guía para los tipos de datos NumPy. Aquí discutimos cómo se usa un tipo de datos numpy en particular junto con los ejemplos. También puede echar un vistazo a los siguientes artículos para obtener más información:
- ¿Qué es NumPy?
- Matplotlib en Python
- Tipos de datos de Python
- Diccionario en Python