← 返回题库
初级

存货估测:捕获量与投放量散点分析

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
"""
金融风险管理 - q029
存货估测与回归分析:散点图与趋势观察
"""

metadata = {
    "id": "q029",
    "title": "存货估测:捕获量与投放量散点分析",
    "module": "存货估测与回归分析",
    "difficulty": "beginner",
    "data_files": ["case33_fish_stocking_catch.csv"],
    "skills": ["数据读取", "散点分析", "投入产出关系"],
    "estimated_minutes": 8
}

"""
【题目】
读取case33_fish_stocking_catch.csv,分析渔业公司捕获量与投放量的对应关系。

输出DataFrame,包含:投放年份、投放量(万kg)、捕获年份、捕获量(万kg)、
捕获/投放比(保留4位小数)

最后输出捕获/投放比的均值(保留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 + "case33_fish_stocking_catch.csv").read()))

    df['捕获投放比'] = (df['catch_amount'] / df['stocking_amount']).round(4)
    avg_ratio = round(df['捕获投放比'].mean(), 4)

    result = df.to_string()
    return result + f"

捕获/投放比均值: {avg_ratio}"

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

示例

输入
solve()
期望输出
stocking_year  stocking_amount  catch_year  catch_amount   捕获投放比 | 0           2012             46.8        2016         149.0  3.1838 | 1           2013             77.3        2017         121.9  1.5770 | 2           2014             62.0        2018         166.0  2.6774 |  | 捕获/投放比均值: 2.4794
Python 代码 🔒 登录后使用
🔒

登录后即可练习

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