我正在努力将一个滚动的累积产品推广到熊猫系列中。我的输入系列是:
s
0 1
1 2
2 3
3 4
4 5
5 6
我想得到一个结果系列,它给我以前的&n;' n'值。所以,如果' n'是3,我想得到:
s
0 n/a
1 n/a
2 6
3 24
4 60
5 120
我提出的代码使用了rolling_apply和lambda函数并产生了一个TypeError:
import pandas as pnd
df = pnd.DataFrame()
df['s'] = [1,2,3,4]
print (df)
print (pnd.rolling_apply(df.s,2,lambda x : x.cumprod()))
TypeError: only length-1 arrays can be converted to Python scalars
有谁知道怎么做?
答案 0 :(得分:3)
感谢user2357112。这是我提出的有效的代码......
import pandas as pnd
df = pnd.DataFrame()
df['s'] = [1,2,3,4, 5, 6]
print (df)
print (pnd.rolling_apply(df.s,3,lambda x : x.prod()))