Pandas de productos acumulativos

Pandas de productos acumulativos
Python es un lenguaje de programación de alto nivel fácil de usar que se considera mejor para realizar análisis de datos. La razón principal de esto es que Python proporciona un gran ecosistema de paquetes centrados en datos como Pandas. Los pandas en Python hacen que sea fácil importar y analizar los datos.

Una de las funciones de Panda es la serie.CumProd (). Este método se utiliza para calcular el producto acumulativo de una serie. En este artículo, explicaremos cómo calcular el producto acumulativo utilizando la biblioteca de Panda en Python.

¿Qué es un producto acumulativo??

Un producto acumulativo es un producto iterativo de cada elemento en una matriz. Una secuencia dada se multiplica iterativamente por cada elemento en esa secuencia. Cada valor resultante es la suma de los valores actuales y anteriores de la matriz. Por ejemplo, tenemos una secuencia de 3 elementos [X, Y, Z], y el producto acumulativo será [X, XY, XYZ].

Los Pandas en Python proporcionan un par de funciones para calcular el producto acumulativo de una serie. CumProd () es una de esas funciones que se usan comúnmente para encontrar el producto acumulativo de una serie en Python. Un cuadro de datos o una serie de elementos proporcionados a la función CumProd () calcula el producto acumulativo y devuelve el mismo tamaño de DataFrame o Series que contiene el producto acumulativo.

¿Cuál es la sintaxis de la serie?.método CumProd ()?

Aquí está la sintaxis de la serie.Método CumProd ():

Las series.CumProd () toma dos parámetros; eje y skipna. El valor para el eje es 0 o 1; o es índice o columna, 0 e índice, ambos representan la operación en términos de fila, mientras que 1 y columna representan la operación en cuanto a columna. Además, el valor de Skipna es un valor booleano (verdadero o falso). Se usa para omitir los valores de NA en un marco de datos. Las series.CumProd () devuelve el mismo tamaño de serie que la entrada.

Ahora, procedamos con los ejemplos para ver cómo podemos implementar la función CumProd () en Python.

Ejemplo 1

En este ejemplo, crearemos una pequeña serie de números que también contienen un valor de NA. El valor de NA se mantiene en la serie para ver cómo reacciona CumProd (). Además, no se proporciona ningún valor para el parámetro skipna, haciendo que el cumProd () use el valor de skipna predeterminado verdadero. Vea el código a continuación.

Como se discutió anteriormente, el producto acumulativo es el producto del valor actual y todos los valores anteriores en la matriz. El primer elemento en la matriz original siempre es igual al primer producto acumulativo. El segundo valor es el producto del primer y segundo valores, 2 * 3 = 6, y el tercer valor es el producto de los primeros tres valores, 2 * 3 * 5 = 30.

Ahora, si el cuarto valor es Nan, el Skipna era verdadero, lo que hizo que CumProd () se saltea el valor de NA y avance, devolviendo NA para el valor actual. Se sigue el mismo proceso del producto acumulativo para el resto de los valores en la matriz.

importar pandas como PD
importar numpy como np
num = [2, 3, 5, NP.nan, 7, 9, 1, 0]
S = PD.Serie (num)
CumProd = S.CumProd ()
Imprimir (CumProd)

Consulte la siguiente salida para conocer el producto acumulativo de cada valor en la matriz:

Ejemplo 2

En el ejemplo anterior, no hemos proporcionado el valor para que skipna mantenga la skipna verdadera de forma predeterminada. Ahora, proporcionaremos falso para Skipna para que CumProd () no se saltea Na, y podemos ver lo que sucederá en ese caso.

Al proporcionar el valor falso para Skipna, estamos obligando al CumProd () a notar el valor de NA en cualquier momento y compararlo cada vez en su ocurrencia. Consulte el siguiente código para aprender cómo proporcionar un valor falso para el parámetro Skipna:

importar pandas como PD
importar numpy como np
num = [2, 3, 5, NP.nan, 7, 9, 1, 0]
S = PD.Serie (num)
CumProd = S.CumProd (Skipna = False)
Imprimir (CumProd)

Aquí está la salida del código anterior:

Tenga en cuenta que los primeros cuatro valores son los mismos que el ejemplo anterior. Sin embargo, el quinto valor se convierte en NA como habíamos proporcionado skipna = falso, lo que significa que NA no se ignora ni se compara cuando ocurrió en la lista. Por lo tanto, haciendo todos los valores restantes na.

Ejemplo 3

Hemos visto el producto acumulativo de una matriz simple en los ejemplos anteriores. Veamos cómo podemos calcular el producto acumulativo de una matriz que depende del eje. Este ejemplo proporcionará dos columnas en una matriz y encontrará su producto acumulativo. Aquí está el código para eso:

importar numpy como np
arr = np.Array ([[1, 3, 5, 7], [2, 4, 6, 8]])
imprimir ("La matriz de entrada es =", arr)
Res = NP.CumProd (arr)
Imprimir ("El producto acumulativo de la matriz de entrada es =", Res)

Tenga en cuenta que la matriz resultante es la suma de la longitud de ambas columnas, que es 4 + 4 = 8. Vea la salida a continuación:

Ejemplo 4

Ahora, sabemos que es posible calcular el producto acumulativo de una matriz basada en el eje, podemos decidir si queremos calcular el producto acumulativo de todo el eje o solo el 1 eje al mismo tiempo. Vea el código a continuación para saber cómo podemos lograr esto.

Como puede observar, solo hemos proporcionado el parámetro del eje adicional a la función CumProd (). El valor para el parámetro del eje es 1, lo que significa calcular el producto acumulativo de 1 eje. En palabras simples, el CumProd () tomará la primera columna, calculará su producto acumulativo y devolverá el resultado. Después de eso, tome la segunda columna, inicie el nuevo producto acumulativo, calcule el producto acumulativo de cada elemento y devuelva el resultado para la segunda columna.

importar numpy como np
arr = np.Array ([[1, 3, 5, 7], [2, 4, 6, 8]])
imprimir ("La matriz de entrada es =", arr)
Res = NP.CumProd (arr, eje = 1)
Imprimir ("El producto acumulativo de la matriz de entrada es =", Res)

Aquí está la imagen de salida:

Conclusión

Cubrimos el concepto fundamental de calcular el producto acumulativo en este artículo. También hemos mencionado pautas sobre cómo calcular el producto acumulativo usando pandas en Python. Los Pandas en Python proporcionan una función CumProd () para calcular el producto acumulativo de una serie.