Я не могу понять, в чем разница между следующими методами:

  1. prod()
  2. cumprod()

И когда я их использую

-1
rob 5 Май 2020 в 16:55

3 ответа

Лучший ответ

При использовании метода prod достаточно просто умножить все элементы.

В то время как метод cumprod выполняет умножение элементов перед предшествующим элементом в текущей позиции.

Например:

import pandas as pd
pd.Series([1,2,3,4]).prod()
# output 24
# 1*2*3*4
pd.Series([1,2,3,4]).cumprod()
# output
# 0     1
# 1     2
# 2     6
# 3    24
# for position 0 it just the element -> 1
# for position 1 it 1*2 = 2
# for position 2 it 1*2*3 = 6
# for position 3 it 1*2*3*4 = 24
1
omer bar 5 Май 2020 в 14:00

Prod () просто возвращает конечный продукт всех значений в серии. В приведенном выше примере он возвращает значение типа int, но это может быть число с плавающей точкой, если вы использовали значения с плавающей точкой в своем примере.

Cumprod () возвращает «совокупный продукт» в виде другой серии. Совокупное произведение представляет собой последовательность частичных произведений последовательности. В качестве примера, совокупный продукт (a, b, c) представляет собой (a, ab, abc). Том

0
Tom 5 Май 2020 в 14:07

prod() просто вычисляет умножение значений друг на друга.

cumprod() возвращает серию кумулятивного произведения, т.е. первым элементом будет он сам, второй - умножение двух первых элементов, третий - умножение трех первых элементов и так далее ..

Примере:

pd.Series([1,2,3,4,5]).prod()

Выдаст 120, при этом:

pd.Series([1,2,3,4,5]).cumprod()

Выведет серию из [1,2,6,24,120]

Ссылка - Pandas docs: prod () cumprod ()

0
A. Maman 5 Май 2020 в 14:10