You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用最简方式在Pandas中拆分多个DataFrame?

批量拆分DataFrame的简洁方法

针对你重复编写拆分代码的问题,有两种高效的批量处理方式,完全基于Pandas实现:

方法1:用列表统一管理DataFrames

先把所有需要处理的DataFrame放进一个列表,再通过列表推导式批量生成训练集:

# 第一步:把10个DataFrame存入列表
dfs = [df1, df2, df3, df4, df5, df6, df7, df8, df9, df10]

# 第二步:批量拆分训练集
train_dfs = [df.loc[:, Start:end] for df in dfs]

拆分后的训练集按顺序存在train_dfs里,train_dfs[0]对应原df1的训练集,train_dfs[1]对应原df2的训练集,以此类推。如果还需要生成验证集,也可以用同样逻辑扩展:

# 假设验证集是另一列范围
val_dfs = [df.loc[:, val_start:val_end] for df in dfs]

方法2:用字典管理(更易通过名称访问)

如果需要保留原DataFrame的名称以便后续快速调用,用字典存储会更方便:

# 第一步:用字典存储,键为原DataFrame的名称,值为对应DataFrame
dfs_dict = {
    "df1": df1,
    "df2": df2,
    # ... 依次添加到df10
    "df10": df10
}

# 第二步:批量生成训练集字典
train_dict = {name: df.loc[:, Start:end] for name, df in dfs_dict.items()}

之后可以直接通过train_dict["df1"]获取原df1的训练集,和直接定义df1_train的效果完全一致。

这两种方法都能把10行重复代码压缩到2-3行,后续如果要调整拆分范围,只需要修改一处即可,维护性大幅提升。

内容的提问来源于stack exchange,提问作者Sadcow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 05:42:44