初级
行业特定风险:零售业应收账款周转率分析
未完成
初级参考
完整示例代码供参考,建议自己理解后重新输入
"""
金融风险管理 - q074
行业特定风险:零售业应收账款周转率分析
"""
metadata = {
"id": "q074",
"title": "行业特定风险:零售业应收账款周转率分析",
"module": "行业特定风险识别",
"difficulty": "beginner",
"data_files": ["operation.csv"],
"skills": ["应收账款周转率", "零售业风险", "行业对标"],
"estimated_minutes": 8
}
"""
【题目】
读取operation.csv,筛选2023年合并报表零售业(Indnme包含'零售')公司,
分析应收账款周转情况:
1. 应收账款周转率 = F060201B(operation.csv中应收账款周转率字段)
2. 应收账款周转天数 = 365 / 应收账款周转率
3. 输出应收账款周转天数最长(风险最高)的前10家
输出DataFrame,包含:Stkcd、ShortName、应收账款周转率(保留2位小数)、应收账款周转天数(保留1位小数)
"""
def solve():
import pandas as pd
from pyodide.http import open_url
from io import StringIO
BASE_URL = "https://data.zuihe.com/finance/"
op = pd.read_csv(StringIO(open_url(BASE_URL + "operation.csv").read()))
df = op[(op['Accper'] == '2023-12-31') & (op['Typrep'] == 'A')].copy()
df = df[df['Indnme'].str.contains('零售', na=False)]
df = df.dropna(subset=['F060201B', 'ShortName'])
df = df[df['F060201B'] > 0]
df['应收账款周转率'] = df['F060201B'].round(2)
df['应收账款周转天数'] = (365 / df['应收账款周转率']).round(1)
result = df.nlargest(10, '应收账款周转天数')[
['Stkcd', 'ShortName', '应收账款周转率', '应收账款周转天数']
].reset_index(drop=True)
return result.to_string()
if __name__ == "__main__":
print(solve())
示例
输入
solve()
期望输出
Empty DataFrame | Columns: [Stkcd, ShortName, 应收账款周转率, 应收账款周转天数] | Index: []
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199