数据处理与统计分析——11-Pandas-Seaborn可视化

Seaborn 简介

Seaborn 是一个基于 Matplotlib 的图形可视化 Python 库,提供了高度交互式的接口,使用户能够轻松绘制各种吸引人的统计图表。Seaborn 可以直接使用 Pandas 的 DataFrame 和 Series 数据进行绘图。

1. Seaborn 绘制单变量图

(1) 直方图 histplot

  • hue: 根据另一个分类变量对数据进行分组并显示不同颜色的直方图。

  • kde: 是否绘制核密度估计曲线。

  • 其他常用参数:

    • bins: 控制直方图的条数。
    • stat: 选择统计方式(如 density 或 count)。

    示例代码:

import seaborn as sns
import matplotlib.pyplot as plt

# fig 画布对象, ax坐标轴对象
fig, ax = plt.subplots(figsize=(10, 5))
# todo data: 要操作的 df或Series对象
# todo x, y: x轴 和 y轴 数据
# todo bins: 直方图, 划分区间的个数
# todo hue: 分组字段, 默认为None, 会按照该字段分组, 把相同分组数据画到一张图上
# todo kde: 绘制 核密度预估曲线
sns.histplot(data=tips, x='total_bill', bins=10, hue='sex', kde=True)
ax.set_title('直方图-总消费金额分布情况')
plt.show()

(2) 密度图 kdeplot

  • X 轴: 样本数据。
  • Y 轴: 密度值。
  • fill: 是否填充曲线下方区域。
  • 其他常用参数:
    • bw_adjust: 调整带宽以控制平滑度。

示例代码:

# todo 密度图是连续的 -> 概率分布   直方图是离散的 -> 样本数据
# todo 应用场景: 基于少量的样本数据, 去推理 总体数据的概率分布情况

fig, ax = plt.subplots(figsize=(10, 5))
sns.kdeplot(data=tips, x='total_bill')
ax.set_title('密度图-总消费金额分布情况')
plt.show()

(3) 计数图 countplot

  • color: 仅支持单一颜色。
  • hue: 可用来在每个条形中分组显示不同的类别。
  • 其他常用参数:
    • order: 控制条形图中类别的顺序。

示例代码:

# todo 计数图 = 按照某个字段分组, 统计每个分组的数量, 然后绘制成 条形图(柱状图)
# 按照 星期分组, 统计每个星期的 消费次数
# 方式一
fig, ax = plt.subplots(figsize=(10, 5))
sns.countplot(data=tips, x='day', color='b')
ax.set_title('消费次数分布情况')
plt.show()

# 方式二: 手动分组 + 聚合计算
tips.day.value_counts().plot.bar(figsize=(10, 5), color=['red', 'blue', 'yellow'])
ax.set_title('消费次数分布情况'

你可能感兴趣的:(数据分析,pandas,python,开发语言,数据分析)