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

Pandas/Polars/Torch中高效列迭代与函数应用方案探究

按列遍历表格执行函数的高效实现测试与分析

测试目标

  • 找到Python及其第三方库中按列遍历表格并对每列执行函数的高效/最快实现方式
  • 验证lazy计算在该场景下的可行性

测试背景

为提升函数运行速度,针对两类模型(小型模型、大型Torch模型)开展测试,本次测试以对每列执行seasonal_decompose的小型模型为对象。

测试环境

  • 服务器:EC2 t2.large(X86_64)
  • Python版本:3.11.5
  • 依赖库版本:Polars 0.19.13,Pandas 2.1.1,NumPy 1.26.0

测试数据

采用11020行×1578列的随机数据,分别构建Pandas DataFrame与Polars DataFrame作为测试载体。

测试方案与结果

1. Pandas实现方案及耗时

  • 字典+for循环:14.349s
  • 字典+列表推导:14.344s
  • 结合Torch实现:23.142s
  • 结合multiprocessing多进程:4.582s

2. Polars实现方案及耗时

  • 结合Torch实现:13.814s
  • Lambda+map_batches:82.560s(疑似实现方式不佳导致性能大幅下降)
  • for循环:13.342s
  • 字典+列表推导:13.008s
  • 结合multiprocessing多进程:4.997s

3. Lazy计算验证

为Polars操作添加lazy/collect逻辑后未提升性能,核心原因是传入的seasonal_decompose函数并非lazy类型,无法适配Polars的惰性执行机制。

测试结论

  • 单进程场景下,Pandas与Polars的字典+列表推导方案性能表现接近
  • 使用multiprocessing做进程并行优化可大幅提升运行速度,且该方案同时适配Pandas与Polars
  • 整体耗时的核心来源是seasonal_decompose函数本身,单列处理耗时约0.012s
  • 列处理函数process_col的返回值类型对性能存在轻微影响

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 12:01:34