Atributos de los Numpy arrays

| Última modificación: 2 de julio de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

¿Conoces los atributos de los numpy arrays? ¿Sabes cuáles usar y en qué situaciones es mejor uno u otro? En este post te mostraremos algunos de los atributos de los numpy arrays.

Manipular datos en Python es sinónimo de usar Numpy, incluso Pandas está construido sobre Numpy. En este apartado vamos a ver algunos ejemplos de como realizar operaciones como split, reshape y join utilizando numpy. La mayor parte de las operaciones realizadas sobre nuestros datos se pueden englobar en los siguientes bloques:

  • Attributes of arrays: size, shape, memory consumption y data types.
  • Indexing: obtener y modificar valores individuales del array.
  • Slicing: obtener subconjuntos que pertenecen a un array.
  • Reshaping: modificar la forma del array.
  • Joining and splitting: combinar varios arrays en uno o dividir uno en varios.

Atributos de los Numpy arrays

Arrays aleatorios

Algo muy importante que debemos tener en cuenta si hablamos de los atributos de los Numpy arrays son las seed. Esto hace que el resultado siempre sea reproducible.

Hay una forma de generar arrays de forma aleatoria: por medio del módulo random y luego usando el randint, que lo que hará es generar números enteros. El array que se genera puede ser de una dimensión (como en el caso de x1), dos dimensiones (como en el caso de x2) o tres o más dimensiones (como en el caso de x3).

Si esto lo imprimimos, veremos cómo nos genera arrays de forma aleatoria:

#Atributos de los Numpy arrays
import numpy as np
np.random.seed (0)

x1 = np.random.randint (10, size = 3)
x2 = np.random.randint (10, size = (3, 4))
x2 = np.random.randint (10, size = (3, 4, 2))

print (x1)
print ()
print (x2)
print ()
print (x3)

Aquí tenemos el primer array, de una dimensión:

[5 0 3]

Aquí tenemos el segundo, de dos dimensiones:

[[3 7 9 3]

[5 2 4 7]

[6 8 8 1]]

Y aquí tenemos el tercero, de tres dimensiones:

[[[6 7]

[7 8]

[1 5]

[9 8]]

[[9 4]

[3 0]

[3 5]

[0 2]]

[[3 8]

[1 3]

[3 3]

[7 0]]]

Atributos de los numpy arrays

Cada array tiene varios atributos:

  • ndim: el número de dimensiones.
  • shape: el tamaño de cada dimensión.
  • size: el tamaño total del array.

Veamos un ejemplo de cada uno de los atributos de los numpy arrays:

#Atributos de los Numpy arrays
print ("x3 ndim: ", x3.ndim)
print ("x3 shape: ", x3.shape)
print ("x3 size: ", x3.size)

x3 ndim: 3

x3 shape: (3, 4, 2)

x3 size: 24

ndim

En este caso, estamos mostrando las características del array de tres dimensiones. Tenemos tres filas por cuatro columnas y dos datos por cada celda en el array.

Este array es un tensor; esto significa que se visualiza en 3D. Podríamos hacer arrays extensibles a más dimensiones, pero no es representable, ya que siempre se trabaja máximo en 3 dimensiones, que es lo que el ser humano es capaz de entender.

No obstante, está bien saber que se podrían crear más dimensiones en un array con miles de componentes. Para ello habría que utilizar métodos con los que poder visualizarlos en tres dimensiones, como la dimensionality reduction, que nos permitiría proyectar cientos de componentes en solo 3 componentes.

shape

Shape nos indica el tamaño de cada dimensión. En nuestro caso, con x3 shape: (3, 4, 2), la dimensión 1 tendría 3 componentes, la dimensión 2 tendría 4 componentes y la dimensión 3 tendría 2 componentes

size

El tamaño total del array sería 24, que no es más que multiplicar 3x4x2.

Podemos mostrar también el tipo de variables que contiene usando dtype:

#Atributos de los Numpy arrays
print ("dtype: ", x3.dtype)

dtype: int64

O el tamaño en bytes que ocupa dicho array:

#Atributos de los Numpy arrays
print ("itemsize: ", x3.itemsize)
print ("nbytes", x3.nbutes, "bytes")

itemsize: 8

nbytes 480 bytes

Si nos fijamos, el vector x3 tiene 60 elementos en total y cada elemento ocupa 4 bytes. El total de bytes que ocupa dicho array viene dado por: 60 x 4 = 240

Ahora que hemos visto cuáles son los atributos de los numpy arrays, podemos seguir aprendiendo sobre Big Data con la guía del Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp, una formación intensiva e íntegra en la que obtendrás todos los conocimientos teóricos y prácticos necesarios para abrirte paso en el mercado laboral de forma rápida y eficiente. ¡Anímate a avanzar en tu carrera y entra ya para solicitar más información!

Sandra Navarro

Business Intelligence & Big Data Advisor & Coordinadora del Bootcamp en Data Science, Big Data & Machine Learning.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado