初级
营运资金计算与趋势分析
未完成
初级参考
完整示例代码供参考,建议自己理解后重新输入
def solve():
import pandas as pd
import matplotlib.pyplot as plt
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()))
# 选取制造业公司(假设代码422)
company_code = 422
years = ['2020-12-31', '2021-12-31', '2022-12-31', '2023-12-31']
df = bs[(bs['Stkcd'] == company_code) & (bs['Accper'].isin(years))].sort_values('Accper')
result = []
prev_wc = None
for _, row in df.iterrows():
wc = row['流动资产合计'] - row['流动负债合计']
growth = round((wc - prev_wc) / prev_wc * 100, 2) if prev_wc else 0
result.append({
'年份': row['Accper'][:4],
'营运资金(亿元)': round(wc / 1e8, 2),
'增长率(%)': growth
})
prev_wc = wc
# 绘制趋势图
df_result = pd.DataFrame(result)
plt.figure(figsize=(10, 6))
plt.plot(df_result['年份'], df_result['营运资金(亿元)'], 'bo-', linewidth=2, markersize=8)
plt.title('营运资金趋势分析 (2020-2023)', fontsize=14)
plt.xlabel('年份', fontsize=12)
plt.ylabel('营运资金 (亿元)', fontsize=12)
plt.grid(alpha=0.3)
plt.tight_layout()
plt.show()
return df_result.to_string()
示例
输入
solve()
期望输出
年份 营运资金(亿元) 增长率(%) 0 2020 -52.57 0.00 1 2021 -46.15 -12.20 2 2022 -19.36 -58.05 3 2023 -37.31 92.72
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199