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

如何根据营销活动时长拆分Total Budget列计算Avg Monthly Budget

计算营销活动月均预算的实现方案

以下是基于Python Pandas库的实现步骤,能帮你快速生成含Avg Monthly Budget列的目标数据集:

步骤1:准备依赖与加载数据

首先导入必要的库,加载你的数据集(以CSV格式为例):

import pandas as pd
from dateutil.relativedelta import relativedelta  # 用于精确计算月份差

# 加载数据集,替换为你的文件路径
df = pd.read_csv('your_campaign_data.csv')

步骤2:转换日期格式

先把Start Date和End Date列转为datetime类型,确保日期计算准确:

df['Start Date'] = pd.to_datetime(df['Start Date'], errors='coerce')
df['End Date'] = pd.to_datetime(df['End Date'], errors='coerce')

步骤3:计算活动时长(月数)

用relativedelta计算精确的月份时长(包含年转月、剩余月数,再按平均每月30.44天折算剩余天数):

def get_month_duration(start_date, end_date):
    # 处理日期为空的情况
    if pd.isna(start_date) or pd.isna(end_date):
        return 0
    delta = relativedelta(end_date, start_date)
    # 总月数 = 年数*12 + 月数 + 天数/平均每月天数
    total_months = delta.years * 12 + delta.months + delta.days / 30.44
    return max(total_months, 0.01)  # 避免除以0,最小设为0.01个月

df['Duration (Months)'] = df.apply(lambda row: get_month_duration(row['Start Date'], row['End Date']), axis=1)

步骤4:计算月均预算

将Total Budget除以时长月数,得到月均预算:

df['Avg Monthly Budget'] = df['Total Budget'] / df['Duration (Months)']

最终数据集示例

处理后的数据集会新增Duration (Months)和Avg Monthly Budget列,结构如下:

ClientStart DateEnd DateCampaignTotal BudgetDuration (Months)Avg Monthly Budget
Client A2023-01-012023-03-31Summer Sale30003.01000.0
Client B2023-05-152023-06-10Launch Campaign15000.881704.55

注意事项

  • 如果你的数据集是Excel格式,可改用pd.read_excel()加载
  • 若只需要按整月计算(忽略天数),可修改get_month_duration函数,去掉delta.days / 30.44部分
  • 需确保Total Budget列是数值类型,若为字符串需先转换:df['Total Budget'] = pd.to_numeric(df['Total Budget'], errors='coerce')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 22:25:16