首页 > 解决方案 > 自动化功能在熊猫中创建数据框的滚动窗口

问题描述

我有几个数据框 df1, df2, ... dfn 保存在同一个文件夹中,我想使用 n 的滚动窗口进行连接。因此,对于 n=2,我将 df1 放在一个单独的文件夹中,并编写了以下连接 d1+d2、df2+df3、df3+4 等的循环。

df1 = pd.read_excel(r'C:\myinputfilepath\startingfile\df1.xlsx')
inputfilepath = r'C:\myinputfilepath\*.xlsx'

for file in glob.iglob(inputfilepath):
    df2 = pd.read_excel(file)
    dfcombined = pd.concat([df,df2])
    df = df2

这很完美,并且以类似的方式,我可以同时连接三个数据帧,这样我就可以使用以下代码获得 df1+df2+df3、df2+df3+d4 等等:

df1 = pd.read_excel(r'C:\myinputfilepath\startingfile\df1.xlsx')
df2 = pd.read_excel(r'C:\myinputfilepath\startingfile\df2.xlsx')    

for file in glob.iglob(inputfilepath):
    df3 = pd.read_excel(file)
    dfcombined = pd.concat([d1,df2,df3])
    df1 = df2
    df2 = df3

我现在的问题是:什么是最有效的自动化方法,以便我可以将循环放在一个函数中并给出窗口的大小 n 作为参数之一,理想情况下我不想编辑文件夹并手动每次移动起始文件。

非常欢迎各种建议。

标签: pythonpandasdataframe

解决方案


推荐阅读