← 返回题库
初级

利润表共同比分析

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
def solve():
    import pandas as pd
    from pyodide.http import open_url
    from io import StringIO
    
    BASE_URL = "https://data.zuihe.com/finance/"
    ins = pd.read_csv(StringIO(open_url(BASE_URL + "income_statement.csv").read()))
    
    # 选取公司
    company_code = 422
    years = ['2021-12-31', '2022-12-31', '2023-12-31']
    df = ins[(ins['Stkcd'] == company_code) & (ins['Accper'].isin(years))].sort_values('Accper')
    
    # 计算共同比
    result = []
    for _, row in df.iterrows():
        revenue = row['营业收入']
        result.append({
            '年份': row['Accper'][:4],
            '毛利率': round((row['营业收入'] - row['营业成本']) / revenue * 100, 2),
            '营业成本率': round(row['营业成本'] / revenue * 100, 2),
            '期间费用率': round(row['期间费用合计'] / revenue * 100, 2),
            '营业利润率': round(row['营业利润'] / revenue * 100, 2),
            '净利率': round(row['净利润'] / revenue * 100, 2)
        })
    
    return pd.DataFrame(result)

示例

输入
solve()
期望输出
年份   毛利率  营业成本率  期间费用率  营业利润率   净利率
2021 14.76  85.24   0.61  12.40 11.21
2022 11.09  88.91   0.54  14.25 13.18
2023  3.57  96.43   0.44   6.22  4.73
Python 代码 🔒 登录后使用
🔒

登录后即可练习

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