← 返回题库
初级

闻嗅复核:月均收入稳定性验证

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
"""
金融风险管理 - q001
闻嗅复核基础:月均收入稳定性验证
"""

metadata = {
    "id": "q001",
    "title": "闻嗅复核:月均收入稳定性验证",
    "module": "闻嗅复核基础技术",
    "difficulty": "beginner",
    "data_files": ["case32_xyz_profit.csv"],
    "skills": ["数据读取", "月均计算", "均衡生产原则验证"],
    "estimated_minutes": 8
}

# 题目描述
"""
【题目】
XYZ公司为均衡生产企业,2018年下半年报表未经审计。请读取case32_xyz_profit.csv,
计算:
1. 2018年上半年月均营业收入(H1月均 = H1收入 / 6)
2. 2017年全年月均营业收入(FY月均 = FY收入 / 12)
3. 上下半年月均之比(H1月均 / 2017月均)

输出一个DataFrame,包含:period、revenue、月均收入、与2017月均之比
(数值保留2位小数,比值保留4位小数)

均衡生产原则:若比值在0.95~1.05之间,视为正常;否则标记为"异常"。
"""

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

    # 提取三个周期数据
    h1 = df[df['period'] == '2018H1'].iloc[0]
    fy2017 = df[df['period'] == '2017FY'].iloc[0]

    monthly_h1 = h1['revenue'] / 6
    monthly_2017 = fy2017['revenue'] / 12

    result = pd.DataFrame([
        {'period': '2018H1', 'revenue': h1['revenue'], '月均收入': round(monthly_h1, 2),
         '与2017月均之比': round(monthly_h1 / monthly_2017, 4)},
        {'period': '2017FY', 'revenue': fy2017['revenue'], '月均收入': round(monthly_2017, 2),
         '与2017月均之比': 1.0000},
    ])

    return result.to_string()

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

示例

输入
solve()
期望输出
period    revenue         月均收入  与2017月均之比 | 0  2018H1  120400000  20066666.67     1.0005 | 1  2017FY  240686000  20057166.67     1.0000
Python 代码 🔒 登录后使用
🔒

登录后即可练习

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