📜  鸢尾花数据的箱线图和直方图探索(1)

📅  最后修改于: 2023-12-03 14:58:52.678000             🧑  作者: Mango

鸢尾花数据的箱线图和直方图探索

本文将介绍如何使用Python和相关库来绘制鸢尾花数据的箱线图和直方图。鸢尾花数据集是一个常用的数据集,用于机器学习和数据分析的教学与实践。

箱线图(Box Plot)

箱线图是一种可视化数据分布的方法,可以展示数据的中位数、四分位数、离群点等统计信息。在鸢尾花数据集中,我们可以通过绘制箱线图来观察不同品种的花萼长度(sepal length)和花瓣宽度(petal width)的分布情况。

首先,我们需要导入绘图库matplotlib和数据处理库pandas,并读取鸢尾花数据集(请确保已安装这两个库):

import matplotlib.pyplot as plt
import pandas as pd

# 读取鸢尾花数据集
df = pd.read_csv('iris.csv')

接下来,我们可以使用pandas的groupby功能按品种(species)对数据进行分组,然后绘制箱线图:

# 按品种分组
groups = df.groupby('species')

# 绘制箱线图
fig, ax = plt.subplots()
ax.boxplot([group['sepal_length'] for name, group in groups], labels=groups.groups.keys())
ax.set_title('Sepal Length Box Plot')
ax.set_xlabel('Species')
ax.set_ylabel('Sepal Length (cm)')
plt.show()

上述代码中,我们通过groupby函数将数据按照品种分组,然后使用boxplot函数绘制箱线图。在绘制过程中,我们设置了标题、x轴标签和y轴标签,并调用show函数显示图形。

同样的方法,我们可以绘制花瓣宽度的箱线图:

fig, ax = plt.subplots()
ax.boxplot([group['petal_width'] for name, group in groups], labels=groups.groups.keys())
ax.set_title('Petal Width Box Plot')
ax.set_xlabel('Species')
ax.set_ylabel('Petal Width (cm)')
plt.show()
直方图(Histogram)

直方图是一种用于展示数据分布的图表,可以显示数据在不同区间内的频数或频率。我们可以使用直方图来观察鸢尾花数据集中花瓣长度(petal length)和花瓣宽度(petal width)的分布情况。

为了绘制直方图,我们需要导入numpy库并设置一些参数:

import numpy as np

# 设置直方图的参数
n_bins = 10
colors = ['r', 'g', 'b']
labels = groups.groups.keys()

接下来,我们可以分别绘制花瓣长度和花瓣宽度的直方图:

# 绘制花瓣长度的直方图
fig, ax = plt.subplots()
for i, (name, group) in enumerate(groups):
    ax.hist(group['petal_length'], bins=n_bins, color=colors[i], alpha=0.7, label=name)
ax.set_title('Petal Length Histogram')
ax.set_xlabel('Petal Length (cm)')
ax.set_ylabel('Frequency')
ax.legend()
plt.show()

# 绘制花瓣宽度的直方图
fig, ax = plt.subplots()
for i, (name, group) in enumerate(groups):
    ax.hist(group['petal_width'], bins=n_bins, color=colors[i], alpha=0.7, label=name)
ax.set_title('Petal Width Histogram')
ax.set_xlabel('Petal Width (cm)')
ax.set_ylabel('Frequency')
ax.legend()
plt.show()

在上述代码中,我们使用hist函数绘制直方图,设置了柱状图颜色、透明度和标签,并调用legend函数添加图例。

通过绘制箱线图和直方图,我们可以更好地理解鸢尾花数据集中花萼长度、花瓣宽度、花瓣长度等特征的分布情况,为进一步的数据分析和建模提供基础。

以上就是使用Python绘制鸢尾花数据的箱线图和直方图的方法和示例。希望对你有所帮助!