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

如何在Python中计算Target budget yield performance ratio并生成动态预算线

解决两个Python技术问题:预算收益率计算与动态预算线生成

一、计算Target Budget Yield Performance Ratio

首先明确该指标的通用计算逻辑(若需求文档中有特定公式,请以文档为准):
通常该指标为实际收益率与目标预算收益率的比值,公式如下:

# 通用计算公式
target_budget_yield_ratio = (actual_yield / target_budget_yield) * 100

实现步骤(基于数据集处理)

  • 读取数据集(以Excel为例,使用pandas库):
import pandas as pd

# 读取数据集(替换为你的本地文件路径)
df = pd.read_excel("your_dataset.xlsx")
  • 提取对应列并计算指标:
# 假设数据集中列名为"实际收益率"和"目标预算收益率"
df["Target budget yield performance ratio"] = (df["实际收益率"] / df["目标预算收益率"]) * 100

# 查看计算结果
print(df[["年份", "Target budget yield performance ratio"]])

二、动态生成逐年递减的预算线

需求明确:预算线初始值为73.9,每年递减0.8%,需动态计算而非硬编码数值。

实现逻辑

每年预算值 = 上一年预算值 × (1 - 年递减率),其中年递减率为0.8%(即0.008)。

代码实现

  • 编写动态生成预算值的函数:
def generate_budget_line(initial_value, years, decrease_rate):
    """
    动态生成逐年递减的预算线数值
    :param initial_value: 初始预算值(如73.9)
    :param years: 需要生成的年数
    :param decrease_rate: 年递减率(如0.008对应0.8%)
    :return: 包含各年份预算值的列表
    """
    budget_values = [initial_value]
    current_value = initial_value
    for _ in range(1, years):
        current_value *= (1 - decrease_rate)
        # 保留1位小数,与示例结果对齐
        budget_values.append(round(current_value, 1))
    return budget_values

# 生成3年的预算值(对应示例的73.9、73.3、72.7)
budget_line = generate_budget_line(73.9, 3, 0.008)
print(budget_line)  # 输出: [73.9, 73.3, 72.7]
  • 结合matplotlib绘制预算线图表:
import matplotlib.pyplot as plt

# 定义年份序列
years = [1, 2, 3]

# 绘制绿色预算线
plt.plot(years, budget_line, color="green", marker="o", label="预算线")
plt.xlabel("年份")
plt.ylabel("预算值")
plt.title("逐年递减的预算线")
plt.legend()
plt.show()

说明

  • 函数支持任意初始值、年数和递减率,完全避免硬编码;
  • 结果保留1位小数,与需求示例数值一致;
  • 生成的budget_line列表可直接用于图表绘制,匹配你提供的绿色预算线样式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 00:00:28