熊猫在窗口中滚动计算打印元素

Unn*_*nni 8 python dataframe pandas

我想以滑动窗口的方式用pandas dataframe列中的值创建一个系列.例如,如果这是我的数据帧

    state
0    1
1    1
2    1
3    1
4    0
5    0
6    0
7    1
8    4
9    1
Run Code Online (Sandbox Code Playgroud)

对于一个3的窗口大小,我想得到一个列表为[111,111,110,100,000 ......]

我正在寻找一种有效的方法(当然,我可以将状态转换为列表,然后滑动列表索引).有没有办法在这里使用熊猫滚动计算?我可以以某种方式在滚动窗口中打印元素吗?

piR*_*red 10

a = np.array([100, 10, 1])
s.rolling(3).apply(a.dot).apply('{:03.0f}'.format)

0    nan
1    nan
2    111
3    111
4    110
5    100
6    000
7    001
8    014
9    141
Name: state, dtype: object
Run Code Online (Sandbox Code Playgroud)

thx @Alex提醒我使用 dot