python - 如何为数据框应用滑动窗口
问题描述
我使用以下函数在列表上应用滑动窗口。我怎样才能做与数据框类似的事情?
import numpy as np
import pandas as pd
data = list(range(36))
window_size = 12
splits = []
for i in range(window_size, len(data)):
train = np.array(data[i-window_size:i])
test = np.array(data[i:i+3])
splits.append(('TRAIN:', train, 'TEST:', test))
例如
pd.DataFrame(np.random.randn(36, 1))
解决方案
这有点乱,因为我没有使用原始数据集。但这应该给你一个想法。
import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))
window_size=[2,2]
for x in range(window_size[0]):
for y in range(window_size[1]):
train=df[0:x].loc[0:y]
print(train.head())
test=df[x:].loc[y:]
print(test.head())
推荐阅读
- html - 显示:flex 在 CSS 中不起作用
- xml - 使用 xmllint 和 xpath 在地理服务器 SLD 文件中提取属性版本的值
- listview - Xamarin ListView 空间问题,当两个 listview 放入 ScrollView。需要一个解决方案。
- mysql - MySQL,连接中限制一张表
- autocomplete - 仅在字符后使用制表键自动完成 Sublime 文本
- gherkin - 如何在 Gherkin 中实现需要条件的场景?
- asp.net - 将构建版本添加到 asp.net 中的 css 文件
- c++ - strlen 是否针对字符串文字进行了优化?
- r - 在 R 中安装“图形”包(但不是其他包)时出错
- java - Flyway Java 回调