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

Python中高效拼接Series生成3列DataFrame并导出CSV的优化方案

高效创建大行数DataFrame并导出CSV的方法

你的当前方法耗时极长的核心原因是每次调用pd.concat都会创建新的DataFrame对象,反复复制已有数据。对于30万行的规模,这种逐行追加的操作时间复杂度为O(n²),数据量越大性能衰减越严重。

最高效的实现方式是先批量收集所有数据,再一次性生成DataFrame,具体步骤如下:

  1. 初始化数据存储列表
    在计算开始前,创建三个空列表分别对应三列数据:
text_a_list = []
text_b_list = []
score_list = []
  1. 循环收集数据
    在你的计算逻辑中,每得到一组value1、value2、value3,直接将它们追加到对应列表:
# 示例计算循环(替换为你的实际计算逻辑)
for item in your_data_source:
    value1 = calculate_text_a(item)
    value2 = calculate_text_b(item)
    value3 = calculate_score(item)
    
    text_a_list.append(value1)
    text_b_list.append(value2)
    score_list.append(value3)
  1. 一次性生成DataFrame
    所有数据收集完成后,用字典直接构造完整的DataFrame:
import pandas as pd

final_df = pd.DataFrame({
    "Text A": text_a_list,
    "Text B": text_b_list,
    "Score": score_list
})
  1. 导出为CSV文件
    最后调用to_csv导出,关闭索引可减小文件体积:
final_df.to_csv("output.csv", index=False)

性能优势说明

这种方式的时间复杂度为O(n):列表的append操作是均摊常数时间,一次性构造DataFrame仅需遍历一次数据。相比逐行concat,30万行数据的处理时间会从分钟级压缩到秒级,内存占用也更可控。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 09:52:24