python - 自动化功能在熊猫中创建数据框的滚动窗口
问题描述
我有几个数据框 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 作为参数之一,理想情况下我不想编辑文件夹并手动每次移动起始文件。
非常欢迎各种建议。
解决方案
推荐阅读
- excel - 在多个工作表上拆分数据
- php - 提交 PHP 电子邮件表单后,在同一页面上提醒“消息已发送”而不是页面重定向。
- html - 将 URL 作为 src 传递时 HTML5 音频元素关闭连接
- javascript - 使用自定义日志记录覆盖 chrome 控制台日志位置
- docker - 在运行时使用 docker-compose.yml 将 ENV 变量传递给 Dockerfile
- javascript - 在 Selenium 中加载页面时处理错误的 JS
- bash - 我的字符串比较总是评估为真
- swift - Swift将字符串转换为数据缓冲区
- javascript - 在 document.write 结果中用空格替换 %20
- python - 在 1d 集群中查找集群的算法,但不一定将所有内容都集群化