如果是单行,我可以得到如下迭代器
import pandas as pd
import numpy as np
a = np.zeros((100,40))
X = pd.DataFrame(a)
for index, row in X.iterrows():
print index
print row
字符串
现在我希望每个迭代器都返回一个子集X[0:9, :]
,X[5:14, :]
,X[10:19, :]
等。我如何通过rolling(pandas.DataFrame.rolling
)实现这一点?
3条答案
按热度按时间2j4z5cfb1#
我将用下面的框架进行实验。
设置
字符串
的数据
我现在将介绍一个函数,它滚动多个行,并将它们连接成一个单独的嵌套框架,在这个嵌套框架中,我将向列索引添加一个顶层,以指示滚动中的位置。
解决方案第一步
型
虽然它隐藏在函数中,但
myroll
看起来像这样:的
现在我们可以像迭代器一样使用它。
解决方案第二步
型
ev7lccsx2#
它可以用
rolling
完成,但效率很低(由于迭代所有窗口),需要Pandas1.1
:字符串
更快(C中的迭代)
型
gblwokeq3#
滚动不是这样工作的,它“提供滚动转换”(来自the docs)。
你可以循环并使用pandas索引吗?
字符串