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

Python pandas如何对表格每行循环应用不同算术运算并生成新列

需求场景

现有包含Column A、Column B两列的表格数据,数据样例如下:
数据样例图
需要逐行应用循环算术运算,结果存入新增列,规则为:

  • 第1行计算A+B
  • 第2行计算A-B
  • 第3行计算A*B
  • 第4行计算A/B
  • 后续行按上述加减乘除规则循环,直到处理完所有n行记录
    以下是基于Python 3.x、pandas的实现代码。
实现代码
import pandas as pd
import numpy as np

# --------------------------
# 替换为你自己的数据读取逻辑
# 例:df = pd.read_excel("your_file.xlsx") / df = pd.read_csv("your_file.csv")
# 以下为测试用样例数据
df = pd.DataFrame({
    "Column A": [12, 45, 23, 64, 32, 18, 72],
    "Column B": [4, 12, 2, 16, 8, 3, 9]
})
# --------------------------

# 若索引不是从0开始的连续整数,先执行下一行重置索引
# df = df.reset_index(drop=True)

# 利用行索引取模4匹配循环运算规则(索引从0开始,刚好对应4个一轮的规则)
row_mod = df.index % 4
df["计算结果"] = np.select(
    condlist=[
        row_mod == 0,
        row_mod == 1,
        row_mod == 2,
        row_mod == 3
    ],
    choicelist=[
        df["Column A"] + df["Column B"],
        df["Column A"] - df["Column B"],
        df["Column A"] * df["Column B"],
        df["Column A"] / df["Column B"]
    ]
)

# 打印结果验证
print(df)
说明
  • 代码使用numpy向量化逻辑实现,相比逐行apply运算性能更高,适配万行以上大数据量场景
  • 如果需要处理B列为0的除零异常,可以将除法分支替换为df["Column A"].divide(df["Column B"], fill_value=np.nan)避免程序报错
  • 运算结果的列名可以根据实际需求自行修改

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 14:09:25