新添加财政报表分析的功能,可以根据报表数据绘制折线图,计算利润率。
import pandas as pd
import matplotlib.pyplot as plt
# 导入 Pandas 和 Matplotlib 库
# 文件路径:假设上传的文件名为 financial_data.xlsx
file_path = r'E:\桌面\项目实训\zhishiku1\project\financial_data.xlsx'
# 读取上传的 Excel 文件
df = pd.read_excel(file_path)
# 打印输出查看数据的前几行,确保数据加载正确
print("财务报表数据:")
print(df.head())
# 处理日期列,确保其为字符串类型
df['日期'] = df['日期'].astype(str)
# 计算净利润率(Net Profit Margin)
df['净利润率'] = df['净利润'] / df['营业收入'] * 100
# 绘制净利润和营业收入的趋势图
plt.figure(figsize=(10, 6))
plt.plot(df['日期'], df['净利润'], marker='o', label='净利润') # 绘制净利润的趋势
plt.plot(df['日期'], df['营业收入'], marker='o', label='营业收入') # 绘制营业收入的趋势
plt.title('净利润和营业收入趋势') # 设置图表标题
plt.xlabel('日期') # 设置X轴标签
plt.ylabel('金额(万元)') # 设置Y轴标签
plt.xticks(rotation=45) # 旋转日期标签,使其更易读
plt.legend() # 显示图例
# 添加文字描述
plt.text(0.5, 0.9, '财务报表数据趋势', ha='center', va='center', transform=plt.gca().transAxes, fontsize=12)
plt.text(0.5, 0.85, '示例数据', ha='center', va='center', transform=plt.gca().transAxes, fontsize=10, color='gray')
plt.grid(True) # 显示网格线
plt.tight_layout() # 调整布局,防止标签被裁剪
plt.show() # 显示图表
# 绘制净利润率的变化图
plt.figure(figsize=(10, 6))
plt.plot(df['日期'], df['净利润率'], marker='o', color='r', label='净利润率') # 绘制净利润率的变化趋势
plt.title('净利润率变化') # 设置图表标题
plt.xlabel('日期') # 设置X轴标签
plt.ylabel('净利润率 (%)') # 设置Y轴标签
plt.xticks(rotation=45) # 旋转日期标签,使其更易读
plt.legend() # 显示图例
# 添加文字描述
plt.text(0.5, 0.9, '净利润率变化趋势', ha='center', va='center', transform=plt.gca().transAxes, fontsize=12)
plt.text(0.5, 0.85, '示例数据', ha='center', va='center', transform=plt.gca().transAxes, fontsize=10, color='gray')
plt.grid(True) # 显示网格线
plt.tight_layout() # 调整布局,防止标签被裁剪
plt.show() # 显示图表