← 返回题库
初级

利润表分析:期间费用总额与结构

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
"""
金融风险管理 - q015
利润表分析:期间费用总额与结构分析
"""

metadata = {
    "id": "q015",
    "title": "利润表分析:期间费用总额与结构",
    "module": "利润表分析与异常识别",
    "difficulty": "beginner",
    "data_files": ["case32_xyz_profit.csv"],
    "skills": ["费用结构", "占比计算", "趋势对比"],
    "estimated_minutes": 8
}

# 题目描述
"""
【题目】
读取case32_xyz_profit.csv,对XYZ公司各期期间费用(三大费用之和)进行分析:

计算各期:
- 期间费用合计 = selling_expense + admin_expense + finance_expense
- 期间费用率 = 期间费用合计 / revenue
- 各费用占期间费用合计的比例

输出DataFrame,index为period,包含:期间费用合计、期间费用率、销售费用占比、管理费用占比、财务费用占比(比值均保留4位小数)
"""

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()))

    df = df.set_index('period')
    df['期间费用合计'] = df['selling_expense'] + df['admin_expense'] + df['finance_expense']
    df['期间费用率'] = (df['期间费用合计'] / df['revenue']).round(4)
    df['销售费用占比'] = (df['selling_expense'] / df['期间费用合计']).round(4)
    df['管理费用占比'] = (df['admin_expense'] / df['期间费用合计']).round(4)
    df['财务费用占比'] = (df['finance_expense'] / df['期间费用合计']).round(4)

    result = df[['期间费用合计', '期间费用率', '销售费用占比', '管理费用占比', '财务费用占比']]
    return result.to_string()

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

示例

输入
solve()
期望输出
期间费用合计   期间费用率  销售费用占比  管理费用占比  财务费用占比 | period                                           | 2018H1   6820000  0.0566  0.1202  0.6672  0.2126 | 2018H2   8550000  0.0395  0.0936  0.7018  0.2047 | 2018FY  15370000  0.0456  0.1054  0.6864  0.2082 | 2017FY  13400000  0.0557  0.1194  0.6716  0.2090
Python 代码 🔒 登录后使用
🔒

登录后即可练习

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