初级
行业特定风险:房地产预收款占负债比分析
未完成
初级参考
完整示例代码供参考,建议自己理解后重新输入
"""
金融风险管理 - q072
行业特定风险:房地产行业预收款占比分析
"""
metadata = {
"id": "q072",
"title": "行业特定风险:房地产预收款占负债比分析",
"module": "行业特定风险识别",
"difficulty": "beginner",
"data_files": ["balance_sheet.csv"],
"skills": ["预收款分析", "房地产行业", "行业风险识别"],
"estimated_minutes": 8
}
"""
【题目】
读取balance_sheet.csv,筛选2023年合并报表中房地产行业(Indnme包含'房地产')的公司,
分析预收款项占总负债的比例:
1. 计算预收款项/负债合计(保留4位小数)
2. 计算资产负债率 = 负债合计/总资产
3. 按预收款占负债比降序排列,输出前10家
输出DataFrame,包含:Stkcd、ShortName、预收款项、负债合计、总资产、预收款占负债比、资产负债率
(数值保留4位小数)
"""
def solve():
import pandas as pd
from pyodide.http import open_url
from io import StringIO
BASE_URL = "https://data.zuihe.com/finance/"
bs = pd.read_csv(StringIO(open_url(BASE_URL + "balance_sheet.csv").read()))
df = bs[(bs['Accper'] == '2023-12-31') & (bs['Typrep'] == 'A')].copy()
df = df[df['Indnme'].str.contains('房地产', na=False)]
df = df.dropna(subset=['预收款项', '负债合计', '总资产'])
df = df[(df['负债合计'] > 0) & (df['总资产'] > 0)]
df['预收款占负债比'] = (df['预收款项'] / df['负债合计']).round(4)
df['资产负债率'] = (df['负债合计'] / df['总资产']).round(4)
result = df.nlargest(10, '预收款占负债比')[
['Stkcd', 'ShortName', '预收款项', '负债合计', '总资产', '预收款占负债比', '资产负债率']
].reset_index(drop=True)
return result.to_string()
if __name__ == "__main__":
print(solve())
示例
输入
solve()
期望输出
Stkcd ShortName 预收款项 负债合计 总资产 预收款占负债比 资产负债率 | 0 11 深物业A 0 1.228434e+10 1.698806e+10 0.0 0.7231 | 1 31 大悦城 0 1.519661e+11 1.980612e+11 0.0 0.7673 | 2 514 渝开发 0 3.721286e+09 8.055264e+09 0.0 0.4620 | 3 573 粤宏远A 0 6.811837e+08 2.358736e+09 0.0 0.2888 | 4 620 *ST 新联 0 8.793812e+09 1.477819e+10 0.0 0.5951 | 5 797 中国武夷 0 1.721578e+10 2.297024e+10 0.0 0.7495 | 6 965 天保基建 0 6.921519e+09 1.349805e+10 0.0 0.5128 | 7 600604 市北高新 0 1.379135e+10 2.209188e+10 0.0 0.6243 | 8 600773 西藏城投 0 9.834815e+09 1.350686e+10 0.0 0.7281
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199