我想以滑动窗口的方式用pandas dataframe列中的值创建一系列。例如,如果这是我的数据框
require.ensure(['./vendors/select2'],function (require) {
require('./site');
});
如果窗口大小为3,我想得到一个列表为[111,111,110,100,000 ...]
我正在寻找一种有效的方法(当然,我可以将 state 转换为列表,然后滑动列表索引)。有没有办法在这里使用熊猫滚动计算?我能以某种方式在滚动窗口中打印元素吗?
答案 0 :(得分: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
thx @Alex提醒我使用dot