用 Python 分析财务报表
Rohan Chatterjee
Risk modeler

pivot_table 计算按公司分组的比率均值:avg_company_ratio = plot_dat.pivot_table(index=["comp_type",
"company"],
values=["Gross Margin", "Operating Margin",
"Debt-to-equity", "Equity Multiplier"],
aggfunc="mean").reset_index()
print(avg_company_ratio.head())
pivot_table 计算按行业分组的比率均值:avg_industry_ratio = plot_dat.pivot_table(index="comp_type",
values=["Gross Margin", "Operating Margin",
"Debt-to-equity",
"Equity Multiplier"],
aggfunc="mean").reset_index()
print(avg_industry_ratio.head())
seaborn 中绘图需要"长"格式数据。用 pd.melt 将 avg_industry_ratio 与 avg_company_ratio 转换为长格式:molten_plot_company = pd.melt(avg_company_ratio, id_vars=["comp_type",
"company"])
molten_plot_industry = pd.melt(avg_industry_ratio,
id_vars=["comp_type"])
print(molten_plot_company.head())
print(molten_plot_industry.head())
pd.concat 连接 molten_plot_company 和 molten_plot_industrymolten_plot_industry 没有 company 列,因为它是各行业比率的总体平均值pd.concat 要求两个 DataFrame 具有相同列,因此为 molten_plot_industry 添加 company 列molten_plot_industry["company"] = "Industry Average"
molten_plot = pd.concat([molten_plot_company, molten_plot_industry])
sns.barplot(data=molten_plot, y="variable", x="value", hue="company", ci=None)
plt.xlabel(""), plt.ylabel("")
plt.show()

用 Python 分析财务报表