Python:从300的数据集创建大小为12的dataframe,使其包含0:12、1:13、2:14等等

2024-05-16 02:54:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个超过300行的数据帧,我希望提取12个大小的数据帧,比如:0:12,1:13,2:14,3:15等等,就像一个移动窗口,并将每个数据帧存储在一个数据帧中

我已尝试手动获取此项,但以以下方式执行此操作需要大量时间:

dfa=df3[:12]
dfb=df3[1:13]
dfc=df3[2:14]
dfd=df3[3:15]
dfe=df3[4:16]
dff=df3[5:17]
dfg=df3[6:18]
dfh=df3[7:19]
dfi=df3[8:20]
dfj=df3[9:21]
dfk=df3[10:22]
dfl=df3[11:23]

任何帮助都将不胜感激


Tags: 数据方式时间手动dfadfedffdfi
2条回答

编辑:您可以使用一个循环,从0迭代到您的数据帧行的长度-您期望的数据帧分区长度。例如,如果数据帧中有300行,则在0,300-11范围内迭代。然后将分区附加到之前启动的列表中

new_list = [[]]
for i in range(df.shape[0]-11):
    new_list.append([df[i:i+12]])
#delete the first index of list which is []
del new_list[0]
print(new_list)

您可以使用列表理解来获得所需的数据帧数组

size = 12
dfs = [df[i:i+size] for i in range(len(df)-size+1)]

相关问题 更多 >