Python 基础入门 Day26

欢迎来到 Python 基础入门 Day26!今天,我们将学习如何使用 PandasSeaborn 进行 探索性数据分析(EDA),帮助我们快速了解数据结构、特性和潜在关系,为后续分析和建模提供基础。


目录

  1. 探索性数据分析简介
  2. 数据加载与基本查看
  3. 数据统计与清洗
  4. 使用 Seaborn 进行 EDA
  5. 小结与练习

一、探索性数据分析简介

探索性数据分析(Exploratory Data Analysis, EDA)是一种数据分析方法,通过可视化和统计技术探索数据的基本特性,主要包括:

  • 数据分布(如均值、中位数、方差)
  • 缺失值和异常值的检查
  • 各特征之间的关系
  • 类别分布和数值分布

我们将在 Pandas 的数据操作功能与 Seaborn 的可视化能力结合下实现这些目标。


二、数据加载与基本查看

2.1 加载数据

我们将使用 Pandas 加载示例数据集 penguins

import pandas as pd import seaborn as sns # 加载 Seaborn 提供的示例数据集 penguins = sns.load_dataset("penguins") print(penguins.head())

输出:

speciesislandbill_length_mmbill_depth_mmflipper_length_mmbody_mass_gsex
AdelieTorgersen39.118.71813750Male
AdelieTorgersen39.517.41863800Female

2.2 基本信息

# 查看数据基本信息 print(penguins.info()) # 检查数值列的统计信息 print(penguins.describe())


三、数据统计与清洗

3.1 检查缺失值

# 查看每列的缺失值数量 print(penguins.isnull().sum())

3.2 填补或删除缺失值

# 填充缺失值(以中位数填充数值型数据) penguins["bill_length_mm"].fillna(penguins["bill_length_mm"].median(), inplace=True) # 删除包含缺失值的行 penguins.dropna(inplace=True)

3.3 检查类别数据

# 查看类别列的唯一值 print(penguins["species"].unique()) print(penguins["island"].value_counts())


四、使用 Seaborn 进行 EDA

4.1 类别分布可视化

通过柱状图展示企鹅物种分布:

sns.countplot(data=penguins, x="species", palette="pastel") plt.title("Penguin Species Count") plt.show()

4.2 数值分布可视化

通过直方图和密度图查看企鹅体重分布:

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

4.3 数值之间的关系

通过散点图查看体重和鳍长之间的关系:

sns.scatterplot(data=penguins, x="flipper_length_mm", y="body_mass_g", hue="species", style="sex") plt.title("Body Mass vs. Flipper Length") plt.show()

4.4 成对关系图

成对关系图可以同时展示数值型变量之间的两两关系:

sns.pairplot(data=penguins, hue="species", diag_kind="kde", palette="muted") plt.show()

4.5 热图查看相关性

# 计算相关性矩阵 corr = penguins.corr(numeric_only=True) # 绘制热图 sns.heatmap(corr, annot=True, cmap="coolwarm", fmt=".2f") plt.title("Correlation Heatmap") plt.show()


五、小结与练习

今日总结

  1. 使用 Pandas 查看数据集基本信息,检查数据质量。
  2. 对缺失值进行填补或删除。
  3. 使用 Seaborn 可视化数据分布、类别统计以及数值关系。
  4. 掌握成对关系图与相关性热图的应用。

今日练习

  1. 加载 tips 数据集,检查数据中是否有缺失值并进行处理。
  2. 可视化 tips 数据集中不同性别顾客的小费分布情况(直方图)。
  3. 使用成对关系图展示 iris 数据集中的变量关系,并分析其中的特性。
  4. 计算 penguins 数据集中不同物种的体重均值,并绘制条形图展示结果。

下一节预告:在 Day27 中,我们将学习如何将 Pandas 和 Matplotlib/Seaborn 结合,用于生成数据报告和动态仪表板!敬请期待! 😊

Comments

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

发表回复

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