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

如何遍历DataFrame列表提取实例完成计算并追加更新后的DataFrame

前置说明

你给出的list_of_dfs = [df_1, df_2, df_3]是Python列表类型,仅支持整数下标索引,无法使用'df1'这类字符串作为key取值,你实际应该是使用了字典存储结构:dict_of_dfs = {'df1':df_1, 'df2':df_2, 'df3':df_3},以下同时覆盖两种存储结构的实现方案。

需求1:遍历执行指定计算

若为列表存储

processed_list = []
for df in list_of_dfs:
    # 此处替换为你实际的计算逻辑,以下为示例:新增列统计每行总和
    df['row_sum'] = df.sum(axis=1, numeric_only=True)
    processed_list.append(df)

若为字典存储(匹配你当前用字符串索引的写法)

processed_list = []
for df_name, df in dict_of_dfs.items():
    # 自定义计算逻辑
    df['row_sum'] = df.sum(axis=1, numeric_only=True)
    # 可新增来源列标记对应df的名称,方便后续溯源
    df['source_df'] = df_name
    processed_list.append(df)
需求2:统一追加存储

方案1:合并为单个文件存储(小数据量适用)

import pandas as pd
# 纵向拼接所有处理后的DataFrame
merged_df = pd.concat(processed_list, ignore_index=True)
# 存为csv格式
merged_df.to_csv('final_result.csv', index=False, encoding='utf-8-sig')
# 存为Excel格式
merged_df.to_excel('final_result.xlsx', index=False)

方案2:逐次追加写入(大数据量适用,降低内存占用)

for idx, df in enumerate(processed_list):
    # 首个DataFrame写入时带表头,后续追加写入时不带表头
    if idx == 0:
        df.to_csv('append_result.csv', index=False, encoding='utf-8-sig')
    else:
        df.to_csv('append_result.csv', index=False, encoding='utf-8-sig', header=False, mode='a')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 10:45:04