Tipos de datos de NumPy

Tipos de datos en Python

Por defecto, Python tiene los siguientes tipos de datos:

  • strings - Utilizado para representar datos de texto, los textos están entre comillas. Por ejemplo "ABCD".
  • integer - Utilizado para representar enteros. Por ejemplo -1, -2, -3.
  • float - Utilizado para representar números reales. Por ejemplo 1.2, 42.42.
  • boolean - Utilizado para representar verdadero o falso.
  • complex - Utilizado para representar números en el plano complejo. Por ejemplo 1.0 + 2.0j, 1.5 + 2.5j.

Tipos de datos en NumPy

NumPy tiene algunos tipos de datos adicionales y los referencia mediante un carácter, por ejemplo i Representa enteros,u Representa enteros sin signo, etc.

A continuación se muestra una lista de todos los tipos de datos de NumPy y los caracteres utilizados para representarlos.

  • i - Entero
  • b - Booleano
  • u - Entero sin signo
  • f - Número de punto flotante
  • c - Número de punto flotante compuesto
  • m - Duración
  • M - Fecha y hora
  • O - Objetos
  • S - Cadenas
  • U - Cadenas unicode
  • V - Bloque de memoria de otros tipos fijos (void)

Revisar el tipo de datos del array

El objeto de array NumPy tiene una propiedad llamada dtype La propiedad, que devuelve el tipo de datos del array:

Ejemplo

Obtener el tipo de datos del objeto de array:

import numpy as np
arr = np.array([1, 2, 3, 4])
print(arr.dtype)

Ejecutar ejemplo

Ejemplo

Obtener el tipo de datos del array que contiene cadenas:

import numpy as np
arr = np.array(['apple', 'banana', 'cherry'])
print(arr.dtype)

Ejecutar ejemplo

para crear un array con un tipo de datos definido

Usamos array() La función para crear un array, que puede usar parámetros opcionales:dtypepermite que definamos el tipo de datos esperado de los elementos del array:

Ejemplo

Crear un array con una cadena de tipo de datos:

import numpy as np
arr = np.array([1, 2, 3, 4], dtype='S')
print(arr)
print(arr.dtype)

Ejecutar ejemplo

Para iufS y Utambién podemos definir el tamaño.

Ejemplo

Crear un array de 4 bytes de tipo entero:

import numpy as np
arr = np.array([1, 2, 3, 4], dtype='i4')
print(arr)
print(arr.dtype)

Ejecutar ejemplo

¿Qué sucederá si el valor no se puede convertir?

Si se proporciona un tipo de elemento que no se puede convertir forzadamente, NumPy lanzará un ValueError.

ValueError: En Python, si se pasa un parámetro con un tipo no esperado o incorrecto a una función, se lanzará un ValueError.

Ejemplo

Error de Valor: En Python, si el tipo de los parámetros pasados a una función no es el esperado o incorrecto, se lanzará un ValueError.

import numpy as np
arr = np.array(['a', '2', '3'], dtype='i')

Ejecutar ejemplo

Convertir el tipo de datos de un array existente

El mejor método para cambiar el tipo de datos de un array existente es usar astype() método copia el array.

astype() La función crea una copia del array y le permite especificar el tipo de datos como parámetro.

Los tipos de datos se pueden especificar con una cadena, por ejemplo 'f' representa flotante,'i' representa entero, etc. O también puede usar directamente el tipo de datos, por ejemplo float representa flotante,int representa entero.

Ejemplo

Al usar 'i' Como valor de parámetro, cambiar el tipo de datos de flotante a entero:

import numpy as np
arr = np.array([1.1, 2.1, 3.1])
newarr = arr.astype('i')
print(newarr)
print(newarr.dtype)

Ejecutar ejemplo

Ejemplo

Al usar int Como valor de parámetro, cambiar el tipo de datos de flotante a entero:

import numpy as np
arr = np.array([1.1, 2.1, 3.1])
newarr = arr.astype(int)
print(newarr)
print(newarr.dtype)

Ejecutar ejemplo

Ejemplo

Cambiar el tipo de datos de entero a booleano:

import numpy as np
arr = np.array([1, 0, 3])
newarr = arr.astype(bool)
print(newarr)
print(newarr.dtype)

Ejecutar ejemplo