Tipos de datos numéricos


Tipos de datos en Python

Por defecto, Python tiene estos tipos de datos:

  • strings- utilizado para representar datos de texto, el texto se da entre comillas. por ejemplo, "ABCD"
  • integer- se utiliza para representar números enteros. por ejemplo -1, -2, -3
  • float- se utiliza para representar números reales. por ejemplo, 1.2, 42.42
  • boolean - utilizado para representar Verdadero o Falso.
  • complex- se utiliza para representar números complejos. por ejemplo, 1,0 + 2,0j, 1,5 + 2,5j

Tipos de datos en NumPy

NumPy tiene algunos tipos de datos adicionales y se refiere a tipos de datos con un carácter, como ienteros, uenteros sin signo, etc.

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

  • i - entero
  • b - booleano
  • u - entero sin signo
  • f - flotar
  • c - flotador complejo
  • m - timedelta
  • M - fecha y hora
  • O - objeto
  • S - cuerda
  • U- cadena unicode
  • V- fragmento fijo de memoria para otro tipo (vacío)

Comprobación del tipo de datos de una matriz

El objeto de matriz NumPy tiene una propiedad llamada dtype que devuelve el tipo de datos de la matriz:

Ejemplo

Obtenga el tipo de datos de un objeto de matriz:

import numpy as np

arr = np.array([1, 2, 3, 4])

print(arr.dtype)

Ejemplo

Obtenga el tipo de datos de una matriz que contiene cadenas:

import numpy as np

arr = np.array(['apple', 'banana', 'cherry'])

print(arr.dtype)


Creación de matrices con un tipo de datos definido

Usamos la array()función para crear matrices, esta función puede tomar un argumento opcional: dtype que nos permite definir el tipo de datos esperado de los elementos de la matriz:

Ejemplo

Cree una matriz 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)

Para i, u, fy Stambién Upodemos definir el tamaño.

Ejemplo

Cree una matriz con un tipo de datos entero de 4 bytes:

import numpy as np

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

print(arr)
print(arr.dtype)

¿Qué pasa si un valor no se puede convertir?

Si se proporciona un tipo en el que los elementos no se pueden convertir, NumPy generará un ValueError.

ValueError: en Python, ValueError se genera cuando el tipo de argumento pasado a una función es inesperado/incorrecto.

Ejemplo

Una cadena no entera como 'a' no se puede convertir a entero (generará un error):

import numpy as np

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

Conversión de tipos de datos en arreglos existentes

La mejor manera de cambiar el tipo de datos de una matriz existente es hacer una copia de la matriz con el astype()método.

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

El tipo de datos se puede especificar usando una cadena, como 'f'flotante, 'i'entero, etc. o puede usar el tipo de datos directamente como floatflotante y intentero.

Ejemplo

Cambie el tipo de datos de flotante a entero usando 'i'como valor de parámetro:

import numpy as np

arr = np.array([1.1, 2.1, 3.1])

newarr = arr.astype('i')

print(newarr)
print(newarr.dtype)

Ejemplo

Cambie el tipo de datos de flotante a entero usando intcomo valor de parámetro:

import numpy as np

arr = np.array([1.1, 2.1, 3.1])

newarr = arr.astype(int)

print(newarr)
print(newarr.dtype)

Ejemplo

Cambie 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)

Ponte a prueba con ejercicios

Ejercicio:

NumPy usa un carácter para representar cada uno de los siguientes tipos de datos, ¿cuál?

i = integer
 = boolean
 = unsigned integer
 = float
 = complex float
 = timedelta
 = datatime
 = object
 = string