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

如何将GPT2模型循环预处理后的行保存至DataFrame?

解决方案

首先优化你的代码,不要在循环内重复初始化GPT2模型——每次加载模型都会消耗大量时间和内存,4000+行这么做会非常低效。先把模型初始化移到循环外:

# 仅初始化一次模型,放在循环外部
GPT2_model = TransformerSummarizer(transformer_type="GPT2", transformer_model_key="gpt2-medium")

接下来有两种高效方式将处理结果保存到DataFrame:

方法1:循环+列表收集结果

先创建空列表存储每一行的处理结果,循环结束后将列表赋值给DataFrame的新列(比如命名为summary):

summaries = []

for row in df["findings"]:
    full = ''.join(GPT2_model(row, min_length=60))
    summaries.append(full)

# 将结果写入DataFrame新列
df["summary"] = summaries

方法2:使用apply方法(更简洁)

利用Pandas的apply方法直接对findings列的每一行应用模型处理,代码更紧凑:

# 定义处理单条文本的函数
def generate_summary(text):
    return ''.join(GPT2_model(text, min_length=60))

# 对列应用函数生成新列
df["summary"] = df["findings"].apply(generate_summary)

如果担心某一行处理出错导致整个流程中断,可以加入异常处理:

summaries = []
for idx, row in enumerate(df["findings"]):
    try:
        full = ''.join(GPT2_model(row, min_length=60))
        summaries.append(full)
    except Exception as e:
        print(f"处理第{idx}行时出错: {e}")
        summaries.append(None)  # 出错时用None填充,后续可针对性处理

df["summary"] = summaries

处理完成后,可将整个DataFrame保存到文件避免数据丢失:

# 保存为CSV文件(也可用to_excel保存为Excel格式)
df.to_csv("processed_findings.csv", index=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 01:15:52