我正在艰难度过这一个 - 不知道为什么......也许是时间已晚。
我在pandas中有一个数据帧如下:
1 10
2 11
3 20
4 5
5 10
我想为每一行计算它上面每行的被乘数。例如,在第3行,我想计算10 * 11 * 20或2,200。
我该怎么做?
答案 0 :(得分:2)
使用cumprod。
示例:
df = pd.DataFrame({'A': [10, 11, 20, 5, 10]}, index=range(1, 6))
df['cprod'] = df['A'].cumprod()
答案 1 :(得分:1)
注意,由于您的示例只是一个列,因此可以使用Series
简洁地完成累积产品:
import pandas as pd
s = pd.Series([10, 11, 20, 5, 10])
s
# Output
0 10
1 11
2 20
3 5
4 10
dtype: int64
s.cumprod()
# Output
0 10
1 110
2 2200
3 11000
4 110000
dtype: int64
感谢@bananafish找到固有的cumprod
方法。