如何用python实现对鸢尾花数据集的统计分析
时间: 2023-10-18 13:32:58 浏览: 95
使用Python进行鸢尾花数据集统计分析的过程相对简单,可以使用pandas和numpy等库进行数据的读取和处理,使用matplotlib和seaborn等库进行数据可视化分析,下面是一个基本的示例代码:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
# 加载数据集
data = pd.read_csv('iris.csv')
# 查看数据集的基本信息
print('数据集大小:', data.shape)
print('数据集前五行:')
print(data.head())
# 查看每个品种的样本数量
print('品种样本数量:')
print(data['species'].value_counts())
# 查看每个特征的描述统计信息
print('特征描述统计信息:')
print(data.describe())
# 查看每个特征的直方图
fig, axes = plt.subplots(2, 2, figsize=(10, 10))
sns.histplot(ax=axes[0, 0], data=data, x='sepal_length', hue='species', kde=True)
sns.histplot(ax=axes[0, 1], data=data, x='sepal_width', hue='species', kde=True)
sns.histplot(ax=axes[1, 0], data=data, x='petal_length', hue='species', kde=True)
sns.histplot(ax=axes[1, 1], data=data, x='petal_width', hue='species', kde=True)
plt.show()
# 查看每个特征的箱线图
fig, axes = plt.subplots(2, 2, figsize=(10, 10))
sns.boxplot(ax=axes[0, 0], data=data, x='species', y='sepal_length')
sns.boxplot(ax=axes[0, 1], data=data, x='species', y='sepal_width')
sns.boxplot(ax=axes[1, 0], data=data, x='species', y='petal_length')
sns.boxplot(ax=axes[1, 1], data=data, x='species', y='petal_width')
plt.show()
# 查看特征之间的相关性
corr = data.corr()
sns.heatmap(corr, annot=True)
plt.show()
```
以上代码会依次输出数据集的基本信息、每个品种的样本数量、每个特征的描述统计信息,以及每个特征的直方图、箱线图和相关性热力图。通过这些可视化分析,可以更加直观地了解数据集的特征和分布情况。
阅读全文