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

Pandas如何对传入列表指定的多列批量执行相同计算

Pandas 批量生成预期销售额计算列实现

直接按如下逻辑编写即可,支持传入任意列名列表,自动筛选名称含Group的列参与计算,不会修改Other等无关列:

  • 遍历传入的列名列表,通过关键词匹配筛出需要计算的Group列
  • 自动提取Group列对应的字母后缀,按Expected Sales {letter}格式生成新列名
  • 逐行计算Group列与Price列的乘积作为新列值
import pandas as pd

# 原始示例数据构造
data = [(3,5,7), (2,4,6), (5,8,9.2)]
df = pd.DataFrame(data, columns = ['Group A','Group B','Group C'])
df['Fruit'] = ('apples', 'bananas', 'pears')
df['Price'] = (1, 0.5, 2)
df['Other'] = ("blah1", "blah2", "blah3")

# 核心计算逻辑
# 此处可替换为你需要传入的任意列名列表,示例传入全量列
input_columns = df.columns.tolist()

for col in input_columns:
    # 仅处理列名包含'Group'的字段
    if 'Group' in col:
        # 提取列名中Group后的字母标识
        letter = col.split()[-1]
        # 计算生成对应预期销售额列
        df[f'Expected Sales {letter}'] = df[col] * df['Price']

执行后DataFrame新增3个目标计算列,计算结果如下:

Group AGroup BGroup CFruitPriceOtherExpected Sales AExpected Sales BExpected Sales C
357.0apples1.0blah13.05.07.0
246.0bananas0.5blah21.02.03.0
589.2pears2.0blah310.016.018.4

若你的Group列命名规则和示例不一致,只需调整letter变量的提取逻辑即可适配,其余计算逻辑无需改动。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 21:01:16