Técnicas fundamentales de creación de arrays de NumPy

PythonPythonBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Esta práctica proporciona una guía paso a paso sobre cómo crear arrays utilizando NumPy, una biblioteca fundamental para contenedores de arrays en Python. Aprenderá diferentes métodos de creación de arrays, incluyendo la conversión de secuencias de Python, el uso de funciones de creación de arrays intrínsecas de NumPy, la replicación y unión de arrays existentes, la lectura de arrays desde el disco, la creación de arrays a partir de bytes crudos y el uso de funciones especiales de la biblioteca.

Nota: Puedes escribir código en 01-array-creation.ipynb. Algunas operaciones de impresión se omiten en los pasos, y puedes imprimir la salida según sea necesario.

Convertir secuencias de Python en arrays de NumPy

Para crear arrays de NumPy, puedes convertir secuencias de Python como listas y tuplas. Aquí te muestra cómo hacerlo:

import numpy as np

## Crea un array 1D a partir de una lista
a1D = np.array([1, 2, 3, 4])

## Crea un array 2D a partir de una lista de listas
a2D = np.array([[1, 2], [3, 4]])

## Crea un array 3D a partir de listas anidadas
a3D = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])

Al crear arrays, también puedes especificar el tipo de datos utilizando el parámetro dtype. Tien cuidado con las asignaciones de tipo de datos para evitar desbordamientos o resultados inesperados.

Usar funciones de creación de arrays intrínsecas de NumPy

NumPy proporciona funciones integradas para crear arrays. Aquí hay algunos ejemplos:

import numpy as np

## Crea un array 1D con valores que aumentan regularmente
arr1D = np.arange(10)

## Crea un array 1D con un tipo de datos específico
arr1D_float = np.arange(2, 10, dtype=float)

## Crea un array 1D con un número específico de elementos
arr1D_linspace = np.linspace(1., 4., 6)

## Crea una matriz identidad 2D
matriz_identidad = np.eye(3)

## Crea una matriz 2D con valores dados a lo largo de la diagonal
matriz_diag = np.diag([1, 2, 3])

## Crea una matriz de Vandermonde
matriz_vander = np.vander([1, 2, 3, 4], 2)

## Crea un array lleno de ceros
array_ceros = np.zeros((2, 3))

## Crea un array lleno de unos
array_unos = np.ones((2, 3))

## Crea un array lleno de valores aleatorios
array_aleatorio = np.random.default_rng(42).random((2, 3))

Replicar, unir o mutar arrays existentes

Una vez que has creado arrays, puedes replicarlos, unirlos o mutarlos para crear nuevos arrays. Cuando asignas un array o sus elementos a una nueva variable, utiliza la función np.copy para crear un nuevo array en lugar de una vista en el array original. Aquí hay un ejemplo:

import numpy as np

## Crea un array
a = np.array([1, 2, 3, 4])

## Crea una vista de los primeros dos elementos del array
b = a[:2]

## Modifica la vista
b += 1

## Imprime el array original y la vista modificada
print('a =', a, '; b =', b)

Para unir arrays, puedes utilizar funciones como np.vstack, np.hstack y np.block. Aquí hay un ejemplo de unir cuatro arrays de 2x2 en un array de 4x4 utilizando np.block:

import numpy as np

A = np.ones((2, 2))
B = np.eye(2)
C = np.zeros((2, 2))
D = np.diag((-3, -4))

resultado = np.block([[A, B], [C, D]])

Leer arrays desde el disco

Puedes leer arrays desde el disco en varios formatos. Para formatos binarios estándar, hay bibliotecas de Python como h5py para HDF5 y Astropy para FITS. Para formatos ASCII comunes como CSV y TSV, puedes utilizar las funciones np.loadtxt y np.genfromtxt. Aquí hay un ejemplo de lectura de un archivo CSV:

import numpy as np

data = np.loadtxt('data.csv', delimiter=',', skiprows=1)

Resumen

En este laboratorio, aprendiste cómo crear arrays utilizando NumPy. Aprendiste diferentes métodos, incluyendo convertir secuencias de Python, utilizar funciones intrínsecas de creación de arrays de NumPy, replicar y unir arrays existentes, leer arrays desde el disco, crear arrays a partir de bytes crudos y utilizar funciones especiales de la biblioteca. Con estas técnicas, puedes crear y manipular arrays de manera eficiente para diversas tareas de análisis científico y de datos.