Objeto NumPy Ndarray

La característica más importante de NumPy es su objeto de matriz N-dimensional ndarray, que es una colección de datos del mismo tipo, con indexación de elementos comenzando por el subíndice 0.

El objeto ndarray es una matriz multidimensional utilizada para almacenar elementos del mismo tipo.

Cada elemento en ndarray tiene un área de tamaño de almacenamiento idéntico en la memoria.

El ndarray internamente se compone de lo siguiente:

  • Un puntero a los datos (un bloque de datos en memoria o en un archivo mapeado en memoria).

  • El tipo de datos o dtype, que describe la celda de valor de tamaño fijo en el array.

  • Una tupla que representa la forma (shape) del array, una tupla que indica el tamaño de cada dimensión.

  • Una tupla de zancada (stride), cuyos enteros indican el número de bytes que se deben "saltar" para avanzar al siguiente elemento en la dimensión actual.

La estructura interna de ndarray:

El stride puede ser negativo, lo que hace que el array se mueva hacia atrás en la memoria; en las rebanadas (slices) obj[::-1]oobj[:,::-1]es así.

Para crear un ndarray, basta con llamar a la función array de NumPy:

numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)

Descripción de parámetros:

Nombre Descripción
object Array o secuencia anidada
dtype Tipo de datos de los elementos del array, opcional
copy Si el objeto necesita ser copiado, opcional
order Estilo de creación del array, C es orientación por filas, F por columnas, A cualquier orientación (por defecto)
subok Por defecto devuelve un array consistente con el tipo de la clase base
ndmin Especifica la dimensión mínima del array generado

Ejemplo

A continuación, podemos comprenderlo mejor mediante los siguientes ejemplos.

Ejemplo 1

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

El resultado de salida es el siguiente:

[1 2 3]

Ejemplo 2

# Más de una dimensión import numpy as np a = np.array([[1, 2], [3, 4]]) print (a)

El resultado de salida es el siguiente:

[[1  2] 
 [3  4]]

Ejemplo 3

# Dimensión mínima import numpy as np a = np.array([1, 2, 3, 4, 5], ndmin = 2) print (a)

La salida es la siguiente:

[[1 2 3 4 5]]

Ejemplo 4

# Parámetro dtype import numpy as np a = np.array([1, 2, 3], dtype = complex) print (a)

El resultado de salida es el siguiente:

[1.+0.j 2.+0.j 3.+0.j]

El objeto ndarray se compone de una parte unidimensional continua de la memoria de la computadora y, junto con un patrón de indexación, mapea cada elemento a una posición en el bloque de memoria. El bloque de memoria almacena los elementos en orden de fila (estilo C) o en orden de columna (estilo FORTRAN o MatLab, es decir, el estilo F mencionado anteriormente).

Otras extensiones