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

Python Pandas如何用for循环从大DataFrame拆分生成多个小子DataFrame

实现方案

你可以直接通过列选取+循环的方式快速完成拆分,不需要复杂逻辑,以下是可直接运行的实现代码:


方法1:简洁列表推导式(推荐)

代码最短,执行效率最高,直接生成目标列表:

# 假设你的原始DataFrame变量名为df,第一列列名为x
df_list = [df[["x", col]] for col in df.columns if col != "x"]

生成的df_list是长度为50的列表,按y1到y50的顺序存储子DataFrame,每个子表都保留完整的x列和对应的单个y列,完全匹配你的预期结构。

方法2:显式for循环(方便后续扩展逻辑)

如果你需要在拆分过程中给每个子表加额外处理(比如重命名、数据清洗、计算衍生列、单独存文件),可以用显式循环写法:

df_list = []
# 遍历所有非x的Y值列
for y_col in df.columns.drop("x"):
    # 选取x列和当前Y列生成子表,加copy()避免后续修改子表时联动修改原始数据
    sub_df = df[["x", y_col]].copy()
    # 自定义处理逻辑可以写在这里,比如 sub_df.to_csv(f"{y_col}.csv") 直接导出单文件
    df_list.append(sub_df)

效果验证

你可以运行以下代码检查拆分结果是否符合要求:

# 打印前2个子表的前几行,核对结构
for idx, sub_df in enumerate(df_list[:2], 1):
    print(f"df{idx}")
    print(sub_df.head(), "\n")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 20:15:40