趋近智
箱线图(也称箱须图)提供了一种紧凑的视觉汇总,能够突出数据的特定统计量。虽然直方图能有效地呈现数据的整体形态和频率,但箱线图提供了一种标准方式,基于五数概括:最小值、第一四分位数 (Q1)、中位数 (Q2)、第三四分位数 (Q3) 和最大值,来呈现数据分布。这种图表特别适用于比较不同群体的数据分布。
一个标准箱线图包含几个主要部分:
箱线图在汇总数据方面有几个优点:
Matplotlib 和 Seaborn 等 Python 库使创建箱线图变得简单,特别是在处理 Pandas DataFrame 时。让我们生成一些表示两个城市(城市A和城市B)每日温度的样本数据并进行绘图。
import pandas as pd
import numpy as np
import plotly.express as px
# 生成一些样本温度数据
np.random.seed(42) # 为了结果可复现
city_a_temps = np.random.normal(loc=20, scale=5, size=100) # 平均20C,标准差5C
city_b_temps = np.random.normal(loc=25, scale=8, size=100) # 平均25C,标准差8C
# 为城市A添加几个异常值
city_a_temps = np.append(city_a_temps, [3, 45])
# 创建一个 Pandas DataFrame
df = pd.DataFrame({
'Temperature': np.concatenate([city_a_temps, city_b_temps]),
'City': ['City A'] * len(city_a_temps) + ['City B'] * len(city_b_temps)
})
# 使用 Plotly Express 创建箱线图
fig = px.box(df, x='City', y='Temperature',
color='City', # 按城市为箱体着色
points="outliers", # 显示异常值
title="按城市划分的每日温度分布",
labels={'Temperature': '温度 (°C)', 'City': '城市'},
color_discrete_map={'City A': '#1f77b4', 'City B': '#ff7f0e'} # 可选自定义颜色
)
# 若要在 Jupyter 等环境中显示图表:
# fig.show()
# 这是用于嵌入的 JSON 表示:
并排的箱线图,比较城市A和城市B的每日温度。请注意城市A的中位线、箱体的范围(IQR)、触须以及单独标记 (token)的异常值。
观察上面生成的图表:
箱线图提供了一种有效方式,可以快速了解数据集分布的主要特征,是探索性数据分析中必不可少的工具,特别是在比较群体时。它们补充了从均值和标准差等统计量以及直方图等可视化中获得的见解。
这部分内容有帮助吗?
© 2026 ApX Machine LearningAI伦理与透明度•