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

如何高效计算Pandas DataFrame指定行和以填充空行?

高效填充DataFrame指定行的方法

核心思路

利用Pandas的向量化操作替代Python循环,既简洁又能大幅提升效率——Pandas的内置方法都是底层优化过的,比逐行逐列的循环处理快得多。

实现代码

# 计算B0和B2行数值列的和
b_total = step4_1[step4_1['ISIC2'].isin(['B0', 'B2'])] \
           .select_dtypes(include='number') \
           .sum()

# 将求和结果赋值给B1行对应的列
step4_1.loc[step4_1['ISIC2'] == 'B1', b_total.index] = b_total.values

代码说明

  • isin(['B0', 'B2']):精准筛选出需要求和的两行,不受行索引位置影响(哪怕B0/B2不在B1的前后也能生效)
  • select_dtypes(include='number'):只对2018-2021这类数值列求和,避免操作ISIC2这类文本列
  • sum():按列批量求和,是Pandas优化后的向量操作,效率远高于循环
  • loc:精准定位到ISIC2为"B1"的行,直接批量赋值求和结果

对比原方案的优势

原代码的嵌套循环会逐行逐列遍历处理,当DataFrame行数/列数较多时,效率会急剧下降;而向量化操作是一次性批量处理所有目标列,性能提升非常明显,代码也更易读维护。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 16:33:35