numpy.cumsum() en Python

numpy.cumsum() en Python

Introducción

numpy.cumsum() es una función incorporada en la biblioteca NumPy de Python que se utiliza para calcular la suma acumulada de los elementos de un array unidimensional o multidimensional. La suma acumulada es una nueva array que contiene los valores parciales de la suma de los elementos del array original, empezando por el primer elemento.

La sintaxis básica de numpy.cumsum() es la siguiente:

python
numpy.cumsum(array, axis=None, dtype=None, out=None)

donde:

* array: El array unidimensional o multidimensional al que se le aplicará la suma acumulada.
* axis (opcional): El eje a lo largo del cual se calculará la suma acumulada. El valor predeterminado es None, lo que significa que se calculará a lo largo del eje por defecto (0 para arrays unidimensionales y el primer eje para arrays multidimensionales).
* dtype (opcional): El tipo de datos del array de salida. El valor predeterminado es None, lo que significa que el tipo de datos será el mismo que el del array de entrada.
* out (opcional): Un array opcional en el que se almacenará el resultado. Si se proporciona, debe tener la misma forma y tipo de datos que la array de salida.

Parámetros

axis

El parámetro axis especifica a lo largo de qué eje se calculará la suma acumulada. Puede tomar los siguientes valores:

* None: Calcula la suma acumulada a lo largo del eje predeterminado (0 para arrays unidimensionales y el primer eje para arrays multidimensionales).
* Un entero: Calcula la suma acumulada a lo largo del eje especificado. Debe ser un valor válido para el eje de la array de entrada.

dtype

El parámetro dtype especifica el tipo de datos del array de salida. Puede tomar los siguientes valores:

* None: El tipo de datos será el mismo que el del array de entrada.
* Un tipo de datos de NumPy válido, como int, float o complex.

out

El parámetro out es un array opcional en el que se almacenará el resultado. Si se proporciona, debe tener la misma forma y tipo de datos que la array de salida. Si no se proporciona, se creará una nueva array para almacenar el resultado.

Valores devueltos

numpy.cumsum() devuelve un nuevo array que contiene los valores de la suma acumulada del array de entrada. La forma del array de salida será la misma que la del array de entrada.

Ejemplos

Ejemplo 1: Array unidimensional

Calculemos la suma acumulada de una array unidimensional:

python
import numpy as np

array = np.array([1, 2, 3, 4, 5])
result = np.cumsum(array)

print(result)

Salida:


[ 1 3 6 10 15]

Ejemplo 2: Array multidimensional

Calculemos la suma acumulada de una array multidimensional a lo largo del eje 0:

python
import numpy as np

array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
result = np.cumsum(array, axis=0)

print(result)

Salida:


[[ 1 3 6]
[ 5 8 11]
[12 15 18]]

Ejemplo 3: Especificar el tipo de datos

Calculemos la suma acumulada de una array y especifiquemos el tipo de datos del array de salida:

python
import numpy as np

array = np.array([1, 2, 3, 4, 5], dtype=np.float64)
result = np.cumsum(array, dtype=np.int32)

print(result)

Salida:


[ 1 3 6 10 15]

Conclusión

numpy.cumsum() es una función versátil que se puede utilizar para calcular la suma acumulada de elementos en arrays unidimensionales y multidimensionales. Es especialmente útil para aplicaciones como el cálculo de estadísticas, el procesamiento de señales y el aprendizaje automático.

Preguntas frecuentes

1. ¿Qué hace numpy.cumsum()?
numpy.cumsum() calcula la suma acumulada de los elementos de un array unidimensional o multidimensional.

2. ¿Cuál es la sintaxis de numpy.cumsum()?
python
numpy.cumsum(array, axis=None, dtype=None, out=None)

3. ¿Qué es el parámetro axis?
El parámetro axis especifica a lo largo de qué eje se calculará la suma acumulada.

4. ¿Qué es el parámetro dtype?
El parámetro dtype especifica el tipo de datos del array de salida.

5. ¿Qué es el parámetro out?
El parámetro out es un array opcional en el que se almacenará el resultado.

6. ¿Qué tipo de array devuelve numpy.cumsum()?
numpy.cumsum() devuelve un nuevo array que contiene los valores de la suma acumulada del array de entrada.

7. ¿Cómo se calcula la suma acumulada de una array unidimensional?
Para calcular la suma acumulada de una array unidimensional, se suma cada elemento al elemento anterior.

8. ¿Cómo se calcula la suma acumulada de una array multidimensional?
Para calcular la suma acumulada de una array multidimensional, se suma cada elemento al elemento anterior a lo largo del eje especificado.

9. ¿Para qué se utiliza numpy.cumsum()?
numpy.cumsum() se utiliza para calcular estadísticas, procesar señales y en aplicaciones de aprendizaje automático.

10. ¿Hay alguna alternativa a numpy.cumsum()?
Sí, también se puede utilizar la función cumsum() del módulo itertools.