百度财务数据可视化分析系统
本项目旨在通过数据可视化技术,对百度公司2020年至2023年的财务数据进行分析和展示。通过计算关键财务指标(如市盈率、市净率、市现率、市销率)并以直观的图表形式呈现,帮助用户快速理解百度公司财务状况的变化趋势,提升数据分析效率。
选取百度公司2020年至2023年的财务数据,包括年度和季度的总收入、经营利润等指标。计算市盈率、市净率、市现率和市销率等财务指标,并按年度和季度进行分类汇总。最终通过圆形图、柱形图、散点图和折线图展示各指标的变化趋势。
阶段 | 时间 | 任务内容 |
---|---|---|
需求分析 | 第1周 | 确定项目需求,设计项目框架 |
数据准备 | 第2周 | 收集百度财务数据,整理成CSV格式 |
系统开发 | 第3-4周 | 编写代码,实现数据处理和可视化功能 |
测试与优化 | 第5周 | 测试系统功能,优化代码和图表 |
文档撰写 | 第6周 | 撰写项目报告,整理代码和文档 |
项目总结 | 第7周 | 总结项目经验,准备演示 |
系统架构分为数据输入、数据处理、数据可视化和结果输出四个模块。数据输入模块负责读取CSV文件;数据处理模块完成数据清洗和财务指标计算;数据可视化模块生成各类图表;结果输出模块保存计算结果和图表。
使用pandas读取CSV文件,加载百度财务数据。
read_data(file_path)
:读取CSV文件。calculate_financial_indicators(data)
:计算财务指标。clean_data(data)
:数据清洗,处理缺失值和异常值。plot_sales_rate(data)
:绘制市销率圆形图。plot_pe_ratio(data)
:绘制市盈率柱形图。plot_pb_ratio(data)
:绘制市净率散点图。plot_pc_ratio(data)
:绘制市现率折线图。save_results(data, file_path)
:保存计算结果到CSV文件。import pandas as pd
import matplotlib.pyplot as plt
# 1. 读取数据
def read_data(file_path):
return pd.read_csv(file_path, encoding='utf-8')
# 2. 计算财务指标
def calculate_financial_indicators(data):
data['市盈率'] = data['归属于百度的净利润'] / data['每股美国存托股稀释收益']
data['市净率'] = data['归属于百度的净利润'] / data['经营利润']
data['市现率'] = data['归属于百度的净利润'] / data['总收入']
data['市销率'] = data['归属于百度的净利润'] / data['经调整EBITDA']
return data
# 3. 数据清洗
def clean_data(data):
data.fillna(method='ffill', inplace=True) # 前向填充
return data
# 4. 绘制圆形图 - 市销率
def plot_sales_rate(data):
plt.figure(figsize=(8, 6))
plt.pie(data['市销率'], labels=data['年度'], autopct='%1.1f%%', colors=['salmon', 'lightgreen', 'gold'])
plt.title('市销率 - 圆形图')
plt.show()
# 5. 绘制柱形图 - 市盈率
def plot_pe_ratio(data):
plt.figure(figsize=(8, 6))
plt.bar(data['年度'], data['市盈率'], color='skyblue')
plt.title('市盈率 - 柱形图')
plt.xlabel('年度')
plt.ylabel('市盈率')
plt.show()
# 6. 绘制散点图 - 市净率
def plot_pb_ratio(data):
plt.figure(figsize=(8, 6))
plt.scatter(data['年度'], data['市净率'], color='salmon')
plt.title('市净率 - 散点图')
plt.xlabel('年度')
plt.ylabel('市净率')
plt.show()
# 7. 绘制折线图 - 市现率
def plot_pc_ratio(data):
plt.figure(figsize=(8, 6))
plt.plot(data['年度'], data['市现率'], marker='o', color='lightgreen')
plt.title('市现率 - 折线图')
plt.xlabel('年度')
plt.ylabel('市现率')
plt.show()
# 8. 保存结果
def save_results(data, file_path):
data.to_csv(file_path, index=False)
# 主程序
if __name__ == "__main__":
data = read_data(r'C:\Users\lx\Desktop\Eau7\aaaa.csv')
data = clean_data(data)
data = calculate_financial_indicators(data)
plot_sales_rate(data)
plot_pe_ratio(data)
plot_pb_ratio(data)
plot_pc_ratio(data)
save_results(data, r'C:\Users\lx\Desktop\Eau7\results.csv')
年度 | 季度 | 总收入 | 经营利润 | 归属于百度的净利润 | 每股美国存托股稀释收益 | 经调整EBITDA |
---|---|---|---|---|---|---|
2020 | Q4 | 30263 | 4977 | 5174 | 15.05 | 8564 |
2021 | Q3 | 31921 | 2308 | -16559 | -48.18 | 5962 |
2021 | Q4 | 33088 | 1958 | 1715 | 4.51 | 5757 |
2022 | Q3 | 32540 | 5317 | -146 | -0.87 | 8879 |
2022 | Q4 | 33077 | 4593 | 4953 | 13.59 | 8231 |
2023 | Q3 | 34447 | 6274 | 6681 | 18.22 | 9505 |
2023 | Q4 | 34951 | 5392 | 2599 | 6.77 | 9057 |
通过本次项目,我们成功实现了百度财务数据的可视化分析。项目过程中,我们掌握了数据处理、可视化工具的使用以及团队协作能力。未来,我们计划进一步优化数据处理流程,尝试更多可视化工具和图表类型,以提升系统的实用性和用户体验。