← 返回题库
初级

闻嗅复核:共同比利润表(垂直分析)

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
"""
金融风险管理 - q003
闻嗅复核基础:共同比报表(垂直分析)
"""

metadata = {
    "id": "q003",
    "title": "闻嗅复核:共同比利润表(垂直分析)",
    "module": "闻嗅复核基础技术",
    "difficulty": "beginner",
    "data_files": ["case32_xyz_profit.csv"],
    "skills": ["共同比计算", "垂直分析", "结构分析"],
    "estimated_minutes": 10
}

# 题目描述
"""
【题目】
读取case32_xyz_profit.csv,对XYZ公司各期利润表进行共同比分析(各项目 ÷ 营业收入)。

对以下项目计算共同比(保留4位小数):
- cost(营业成本)
- selling_expense(销售费用)
- admin_expense(管理费用)
- finance_expense(财务费用)
- operating_profit(营业利润)
- net_profit(净利润)

输出DataFrame,index为period,columns为上述6个项目的共同比值。
"""

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

    cols = ['cost', 'selling_expense', 'admin_expense', 'finance_expense', 'operating_profit', 'net_profit']
    result = df.set_index('period')[cols].div(df.set_index('period')['revenue'], axis=0).round(4)

    return result.to_string()

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

示例

输入
solve()
期望输出
cost  selling_expense  admin_expense  finance_expense  operating_profit  net_profit | period                                                                                        | 2018H1  0.8306           0.0068         0.0378           0.0120            0.1068      0.0780 | 2018H2  0.7490           0.0037         0.0277           0.0081            0.2300      0.1739 | 2018FY  0.7781           0.0048         0.0313           0.0095            0.1860      0.1396 | 2017FY  0.8476           0.0066         0.0374           0.0116            0.0918      0.0685
Python 代码 🔒 登录后使用
🔒

登录后即可练习

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