滑动窗口的python 代码
时间: 2024-06-22 07:04:15 浏览: 173
滑动窗口是一种常见的数据处理技术,特别是在序列数据分析中,用于在数据集中提取固定大小的子集(窗口)进行处理或计算。在Python中,我们可以使用内置的切片功能或者循环来实现滑动窗口。这里是一个简单的例子,使用列表和循环来创建一个滑动窗口:
```python
def sliding_window(data, window_size):
"""
创建一个滑动窗口函数,返回数据中的所有子序列(窗口)
:param data: 输入的数据列表
:param window_size: 窗口的大小
:return: 生成器,每次迭代返回一个窗口
"""
if not data or window_size <= 0:
return
# 确保窗口大小不会超过数据长度
window_size = min(window_size, len(data))
for i in range(len(data) - window_size + 1):
yield data[i:i+window_size]
# 使用示例
data = [1, 2, 3, 4, 5, 6]
window_size = 3
for window in sliding_window(data, window_size):
print(window)
```
这个例子中,`sliding_window`函数会生成一个从`data`的第一个元素开始、每次向后移动一个元素(直到最后一个元素)的子列表,形成一个大小为`window_size`的窗口。
阅读全文