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

如何合并R语言循环生成的未知命名多个数据框

解决方案:合并按ID拆分的数据框

方法1:合并已生成的单个ID数据框

如果你已经通过循环生成了df11111、df11112这类数据框,可以按以下步骤合并:

  • 从全局变量中筛选出符合df+数字命名规则的数据框
  • 用pd.concat()完成合并

示例代码:

import pandas as pd

# 收集所有符合命名规则的数据框
id_dfs = [var for name, var in globals().items() if name.startswith('df') and name[2:].isdigit()]

# 合并为大型数据框,ignore_index重置索引避免重复
merged_df = pd.concat(id_dfs, ignore_index=True)

方法2:拆分时直接存入列表(更推荐)

没必要生成大量单独命名的数据框,拆分阶段就把每个ID的子数据框存入列表,后续直接合并,避免全局变量冗余:

示例代码:

import pandas as pd

# 提取Total_df中的唯一ID
unique_ids = Total_df['ID'].unique()

# 初始化列表存储子数据框
id_df_list = []
for uid in unique_ids:
    # 筛选单个ID的数据并存入列表
    sub_df = Total_df[Total_df['ID'] == uid].copy()
    id_df_list.append(sub_df)

# 合并为大型数据框
merged_df = pd.concat(id_df_list, ignore_index=True)

补充说明

  • pd.concat()的ignore_index=True会重置合并后的数据框索引,避免原索引重复冲突
  • 如果子数据框列名不一致,可通过join参数调整合并规则:比如join='inner'只保留所有子数据框共有的列

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 13:35:00