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

如何高效为大型Pandas DataFrame的每行添加Series?

高效实现DataFrame逐行添加Series的方法

你的循环写法效率低是因为逐行操作没用到Pandas的向量化优化,Python级别的循环处理大型数据集时会带来巨大性能开销。直接用Pandas的广播机制就能解决,代码简单且速度极快:

最优实现

直接对整个DataFrame执行加法操作,Pandas会自动把Series diff 广播到每一行:

print(df.shape)  # (31676, 3562)
diff = 4.1 - df.iloc[0]
df += diff  # 原地修改原DataFrame,内存更高效
# 要是不想改动原DataFrame,就用:
# new_df = df + diff

为什么这个方法更快?

  • Pandas的向量化操作是底层用C实现的,避开了Python循环的解释器开销
  • 广播机制会自动匹配Series和DataFrame的列,不用手动遍历每一行,处理大型数据集时性能能提升几十甚至上百倍

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 04:30:58