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

基于DataFrame列值生成带乘数的新列(自定义函数实现)

为DataFrame生成自定义计算的新列

实现思路

用自定义函数+字典映射的方式,既能满足当前的乘法需求,后续改乘数、换计算逻辑也能快速调整。

完整代码

import pandas as pd
import random

# 生成测试数据
df = pd.DataFrame()
countries= ['US','DE','UK']
df['country'] = random.choices(countries,k=100)
df['time'] = random.choices(range(20,100),k=100)

# 1. 定义国家-乘数映射字典,后续改乘数直接修改这里
country_multipliers = {
    'US': 2,
    'UK': 1.5,
    'DE': 1
}

# 2. 自定义计算函数,要改计算逻辑只动这个函数里的代码
def calculate_expected_time(row):
    multiplier = country_multipliers[row['country']]
    # 当前是乘法,后续要换加减、取模等运算,直接修改这行的表达式即可
    return row['time'] * multiplier

# 3. 生成目标新列
df['expected workout time'] = df.apply(calculate_expected_time, axis=1)

灵活调整说明

  • 修改乘数:直接编辑country_multipliers字典的键值对,比如把US的乘数改成2.5,只需将'US': 2改为'US': 2.5
  • 更换计算逻辑:比如要改成time + 乘数,就把函数里的return row['time'] * multiplier替换为return row['time'] + multiplier;要做取模运算就改成return row['time'] % multiplier,其余代码无需改动

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 20:45:35