El blog de un programador...

Post Top Ad

The Relaxation Time

Travel the World!

Post Top Ad



El objetivo principal de numpy es trabajar con colecciones homogéneas de datos en arrays multi-dimensionales, estos datos están indexados dentro de tuplas (generalmente números) y son números positivos, además un concepto muy importante a aprender es que en numpy las dimensiones son llamadas "axes" (ejes), el numero de axes es el rango.

Un poco sobre los axes


Para entender un poco el concepto de los axes (ejes) veamos algunos ejemplos, vemos el siguiente array.-

a = ([1, 3, 5])

Este array tiene un rango 1 ya que se trata de un array de una dimensión, entonces como el axe es igual al rango, el axis tiene una longitud de 3, veamos ahora el siguiente array.-

a = ([1, 2, 3], [4, 5, 6])

El array tiene un rango de 2 (2 axes), el primer axis tiene una longitud de 2 y el segundo axis tiene una longitud de 3, entendido en otras palabras es una matriz de 2x3, espero que este concepto quede bien entendido.

La clase ndarray de numpy


Numpy provee una clase para matrices llamada ndarray la cual contiene propiedades y métodos muy útiles para trabajar con los array, a continuación listo algunas propiedades útiles.-

  • ndarray.ndim.- Nos muestra el numero de axes de la matriz.
  • ndarray.shape.- Nos indica el tamaño de la matriz (por ejemplo 3x2).
  • ndarary.size.- Nos muestra el numero total de elementos de la matriz.
  • ndarray.dtype.- Nos muestra un objeto donde se describen los elementos de la matriz.
  • ndarray.itemsize.- Nos muestra el tamaño en bytes de cada elemento de la matriz.
  • ndarray.data.- Nos muestra el buffer que contiene los elementos reales de la matriz.
Les muestro como funcionan las propiedades desde el interprete de python en la imagen de abajo.-




Crear arrays con numpy

Para crear arrays existen varias formas, empezamos creando un array de a forma tradicional de python.-

// Forma tradicional
import numpy as np

// Array de una dimension
a = np.array([1, 2, 3])

// Array de dos dimensiones
b = np.array([1, 2, 3], [4, 5, 6])

a.dtype.name // Nos mostrara 'int64'

Crear array con un datos especificos


También al momento de crear los arrays podemos especificar el tipo del array que necesitamos.-

// Creamos un array con numeros complejos
import numpy as np

comp = np.array([[1, 2], [3, 4]], dtype=complex)

Y vemos su contenido en la siguiente imagen.-


Crear array de puros ceros, unos o vació

Numpy nos ofrece métodos para crear matrices e inicializarlas con contenido especifico, por ejemplo.-

  • zeros( (columnas, filas) ) .- crea una matriz de ceros.
  • ones( (columnas, filas) ) .- Crea una matriz de unos
  • empty( (columnas, filas) ) .- Crea una matriz con datos aleatorios (estos datos son los que se encuentran en ese momento en las direcciones de memoria ocupadas).

Vemos el ejemplo en la imagen de abajo.-


Matrices con secuencia de números


Numpy también nos permite crear matrices las cuales podremos inicializar con una secuencia de datos mediante el método arange(), además estas secuencias las podremos hacer tanto con números enteros como con números flotantes.-

  • arange(num_inicial, num_final, secuencia)

Hay un detalle interesante al utilizar el método arange() con números flotantes y es que no se puede tener un control exacto de la cantidad de números que nos van a devolver en la matriz, para este caso se puede utilizar el método linspace() donde indicamos el total de números que queremos.-

  • linspace(num_inicial, num_final, total_num)

Crear array automáticos


Por ultimo vamos a ver como crear un array el cual se va a rellenar con valores desde el 0 hasta el que le indiquemos, veamos algunos ejemplos.-

// array de una dimensión
a = arange(5)

El código anterior nos crea un array de un axis con 5 elementos (0, 1, 2, 3, 4), ahora vamos a ver como crear un array de dos axes.-

// array de dos dimensiones
a = arange(15).reshape(3, 5)

// Si lo imprimimos nos mostraria lo siguiente
array([[0, 1, 2, 3, 4],
       [5, 6, 7, 8, 9],
       [10, 11, 12, 13, 14]])

Conclusiones


Al tratar de trabajar con una librería como numpy asumo que por lo menos se tiene un concepto básico de python, en este caso sera fácil aprender a trabajar con numpy, en caso contrario, te recomiendo que tomes un curso básico de python antes de continuar, muchas gracias por leer y hasta la próxima.

No hay comentarios:

Publicar un comentario

Comentar es agradecer!, tu comentario me ayuda a seguir mejorando el blog, gracias.

Post Top Ad