← 返回题库
初级

利润表分析:营业利润与净利润质量

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
"""
金融风险管理 - q016
利润表分析:营业利润与净利润质量分析
"""

metadata = {
    "id": "q016",
    "title": "利润表分析:营业利润与净利润质量",
    "module": "利润表分析与异常识别",
    "difficulty": "beginner",
    "data_files": ["case32_xyz_profit.csv"],
    "skills": ["利润质量", "营业外损益分析", "核心利润占比"],
    "estimated_minutes": 10
}

# 题目描述
"""
【题目】
读取case32_xyz_profit.csv,分析XYZ公司各期利润质量:

计算:
- 核心利润 = operating_profit(营业利润,剔除营业外影响)
- 营业外净额 = non_op_income - non_op_expense
- 核心利润占净利润比 = operating_profit / net_profit
- 营业外净额占净利润比 = 营业外净额 / net_profit

输出DataFrame,index为period,包含:operating_profit、net_profit、营业外净额、
核心利润占净利润比、营业外净额占净利润比(比值保留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['non_op_income'] - df['non_op_expense']
    df['核心利润占净利润比'] = (df['operating_profit'] / df['net_profit']).round(4)
    df['营业外净额占净利润比'] = (df['营业外净额'] / df['net_profit']).round(4)

    result = df[['operating_profit', 'net_profit', '营业外净额', '核心利润占净利润比', '营业外净额占净利润比']]
    return result.to_string()

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

示例

输入
solve()
期望输出
operating_profit  net_profit   营业外净额  核心利润占净利润比  营业外净额占净利润比 | period                                                              | 2018H1          12860000     9390000 -340000     1.3695     -0.0362 | 2018H2          49750000    37605000  390000     1.3230      0.0104 | 2018FY          62610000    46995000   50000     1.3323      0.0011 | 2017FY          22086000    16489500 -100000     1.3394     -0.0061
Python 代码 🔒 登录后使用
🔒

登录后即可练习

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