Python 从一个数据帧中提取等长数据帧

Python 从一个数据帧中提取等长数据帧,python,python-3.x,pandas,Python,Python 3.x,Pandas,我有一个熊猫数据框,如下所示: A | B | C | index ----------------- a1 | b1 | c1 | 1 a2 | b2 | c2 | 2 a3 | b3 | c3 | 3 a4 | b4 | c4 | 4 a5 | b5 | c5 | 5 这类似于按索引(或日期列,如果愿意)排序的时间序列 我的目标是创建n个数据帧,每个数据帧按顺序有3个条目。因此,在上述示例中,解决方案如下所示: df1) df2) df3) 在python 3.5和pandas中如何

我有一个熊猫数据框,如下所示:

A  | B  | C  | index
-----------------
a1 | b1 | c1 | 1
a2 | b2 | c2 | 2
a3 | b3 | c3 | 3
a4 | b4 | c4 | 4
a5 | b5 | c5 | 5
这类似于按索引(或日期列,如果愿意)排序的时间序列

我的目标是创建n个数据帧,每个数据帧按顺序有3个条目。因此,在上述示例中,解决方案如下所示:

df1)

df2)

df3)

在python 3.5和pandas中如何实现这一点?在其他语言中,我可能会使用for循环并在范围(1,len(df)-2)内迭代I,但我猜有一个更具python风格的解决方案

提前感谢您的帮助!!:-)

仍在使用for循环:

variables = locals()
for i in range(1,4):
    variables["df{0}".format(i)] = df.loc[(df['index']>=i)&(df['index']<=i+2),]
variables=locals()
对于范围(1,4)内的i:
变量[“df{0}”.format(i)]=df.loc[(df['index']>=i)和(df['index']仍在使用for循环:

variables = locals()
for i in range(1,4):
    variables["df{0}".format(i)] = df.loc[(df['index']>=i)&(df['index']<=i+2),]
variables=locals()
对于范围(1,4)内的i:

变量[“df{0}”.format(i)]=df.loc[(df['index']>=i)和(df['index']也许这可以帮助你实际需要这三个数据帧,或者你感兴趣的是从三个中的每一个计算聚合值吗?如果是后者,考虑使用.HI谢谢你的答案。我需要三个数据帧,因为我把每个数据帧看作是一个时间序列的一个例子来训练它上的机器学习算法。ELP,你真的需要这三个数据帧,或者你有兴趣计算三个集合中的每一个的聚合值吗?如果是后者,考虑使用.HI谢谢你的答案。我需要三个数据帧,因为我把每个数据帧看作是一个时间序列的一个例子来训练机器学习算法。谢谢,我想A for for循环。那么唯一的答案是什么?@LukasHestermeyer或者你可以看看
shift
谢谢,我想for循环是唯一的答案?@LukasHestermeyer或者你可以看看
shift
A  | B  | C  | index
-----------------
a3 | b3 | c3 | 3
a4 | b4 | c4 | 4
a5 | b5 | c5 | 5
variables = locals()
for i in range(1,4):
    variables["df{0}".format(i)] = df.loc[(df['index']>=i)&(df['index']<=i+2),]