← 返回题库
初级

利润表分析:营业收入增长率与结构

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
"""
金融风险管理 - q013
利润表分析:营业收入增长率与结构分析
"""

metadata = {
    "id": "q013",
    "title": "利润表分析:营业收入增长率与结构",
    "module": "利润表分析与异常识别",
    "difficulty": "beginner",
    "data_files": ["case32_xyz_profit.csv"],
    "skills": ["增长率计算", "收入结构", "同比分析"],
    "estimated_minutes": 8
}

# 题目描述
"""
【题目】
读取case32_xyz_profit.csv,分析XYZ公司2018年收入构成:
1. 计算2018FY vs 2017FY营业收入增长率(保留4位小数)
2. 计算毛利(revenue - cost)及毛利增长率
3. 计算毛利率(2017FY 和 2018FY,保留4位小数)

输出DataFrame,columns=['指标', '2017FY', '2018FY', '增长率'],包含:营业收入、营业成本、毛利、毛利率
"""

def solve():
    import pandas as pd
    from pyodide.http import open_url
    from io import StringIO

    BASE_URL = "https://data.zuihe.com/finance/"
    df = pd.read_csv(StringIO(open_url(BASE_URL + "case32_xyz_profit.csv").read()))

    r17 = df[df['period'] == '2017FY'].iloc[0]
    r18 = df[df['period'] == '2018FY'].iloc[0]

    def growth(a, b):
        return round((b - a) / abs(a), 4)

    gm17 = (r17['revenue'] - r17['cost']) / r17['revenue']
    gm18 = (r18['revenue'] - r18['cost']) / r18['revenue']

    rows = [
        {'指标': '营业收入', '2017FY': r17['revenue'], '2018FY': r18['revenue'],
         '增长率': growth(r17['revenue'], r18['revenue'])},
        {'指标': '营业成本', '2017FY': r17['cost'], '2018FY': r18['cost'],
         '增长率': growth(r17['cost'], r18['cost'])},
        {'指标': '毛利', '2017FY': round(r17['revenue'] - r17['cost'], 2),
         '2018FY': round(r18['revenue'] - r18['cost'], 2),
         '增长率': growth(r17['revenue'] - r17['cost'], r18['revenue'] - r18['cost'])},
        {'指标': '毛利率', '2017FY': round(gm17, 4), '2018FY': round(gm18, 4),
         '增长率': round(gm18 - gm17, 4)},
    ]

    return pd.DataFrame(rows).to_string()

if __name__ == "__main__":
    print(solve())

示例

输入
solve()
期望输出
指标        2017FY        2018FY     增长率 | 0  营业收入  2.406860e+08  3.367000e+08  0.3989 | 1  营业成本  2.040000e+08  2.620000e+08  0.2843 | 2    毛利  3.668600e+07  7.470000e+07  1.0362 | 3   毛利率  1.524000e-01  2.219000e-01  0.0694
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码