Python 基础入门 Day27

欢迎来到 Python 基础入门 Day27!今天我们将学习如何结合 PandasMatplotlib/Seaborn 来生成数据报告,并探索动态仪表板的基本概念和实现方法。


目录

  1. 数据报告的基本流程
  2. 生成静态可视化报告
  3. 使用 Pandas Profiling 快速生成报告
  4. 动态仪表板简介与示例
  5. 小结与练习

一、数据报告的基本流程

数据报告的核心目标是通过结构化的方式展示数据的主要特征,常用步骤包括:

  1. 数据描述:通过统计量了解数据的范围、分布和缺失情况。
  2. 数据分布:使用可视化工具展示特定特征的分布或关系。
  3. 特征关联:展示变量间的相关性或交互作用。
  4. 总结与导出:生成便于分享的静态或动态报告文件。

我们将基于 penguins 数据集完成以上内容。


二、生成静态可视化报告

2.1 基本描述

import pandas as pd import seaborn as sns import matplotlib.pyplot as plt # 加载示例数据集 penguins = sns.load_dataset("penguins") # 描述数据集基本信息 print(penguins.info()) print(penguins.describe())

2.2 分类特征的可视化

以条形图展示各岛屿的企鹅数量:

sns.countplot(data=penguins, x="island", palette="Set2") plt.title("Penguin Count by Island") plt.show()

2.3 数值特征的分布

通过直方图和密度图展示体重分布:

sns.histplot(data=penguins, x="body_mass_g", kde=True, bins=20, color="blue") plt.title("Penguin Body Mass Distribution") plt.show()

2.4 相关性分析

通过热图查看数值变量的相关性:

corr = penguins.corr(numeric_only=True) sns.heatmap(corr, annot=True, cmap="coolwarm", fmt=".2f") plt.title("Correlation Heatmap") plt.show()


三、使用 Pandas Profiling 快速生成报告

Pandas Profiling 是一个快速生成数据报告的工具。

3.1 安装 Pandas Profiling

pip install pandas-profiling

3.2 生成数据报告

from pandas_profiling import ProfileReport # 创建报告 profile = ProfileReport(penguins, title="Penguins Data Report", explorative=True) # 保存为 HTML 文件 profile.to_file("penguins_report.html")

打开生成的 HTML 文件即可查看包含详细统计信息和可视化的交互式数据报告。


四、动态仪表板简介与示例

动态仪表板通过交互式工具(如 Dash、Streamlit 或 Plotly)实时展示数据。这里我们以 Streamlit 为例:

4.1 安装 Streamlit

pip install streamlit

4.2 创建仪表板应用

在项目目录中创建文件 app.py

import streamlit as st import pandas as pd import seaborn as sns import matplotlib.pyplot as plt # 加载数据集 penguins = sns.load_dataset("penguins") # 设置标题 st.title("Penguin Dataset Dashboard") # 显示数据集信息 st.subheader("Dataset Overview") st.write(penguins.head()) # 分类变量可视化 st.subheader("Penguins Count by Island") fig, ax = plt.subplots() sns.countplot(data=penguins, x="island", palette="Set3", ax=ax) st.pyplot(fig) # 数值变量分布 st.subheader("Body Mass Distribution") fig, ax = plt.subplots() sns.histplot(data=penguins, x="body_mass_g", kde=True, bins=20, color="blue", ax=ax) st.pyplot(fig)

4.3 运行应用

使用命令启动 Streamlit 应用:

streamlit run app.py

然后访问命令行提示的本地地址,即可体验交互式仪表板!


五、小结与练习

今日总结

  1. 学习了生成静态数据报告的流程和方法。
  2. 使用 Pandas Profiling 快速生成数据报告。
  3. 了解了动态仪表板的基本原理,并通过 Streamlit 创建了简单的仪表板应用。

今日练习

  1. 使用 Pandas Profiling 分析 titanic 数据集并生成报告。
  2. 在 Streamlit 中实现 titanic 数据集中乘客年龄分布的交互式可视化。
  3. 创建一个带有多个图表的仪表板,展示数据集的多维特征关系(如热图、散点图等)。

下一节预告:在 Day28 中,我们将学习如何使用 Python 和 Jupyter Notebook 自动化生成数据报告,并与团队共享分析结果。敬请期待! 😊

Comments

No comments yet. Why don’t you start the discussion?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注