Python 使用Iris数据集的Pandas基础知识

  • Post category:Python

下面我来详细讲解Python使用Iris数据集的Pandas基础知识。

Iris数据集

Iris数据集是著名的分类机器学习数据集,包含3种不同的鸢尾花(Setosa,Versicolour,Virginica)的50个样本,每个样本有4个特征(萼片长度、萼片宽度、花瓣长度和花瓣宽度)。这个数据集通常用来进行分类和聚类任务。

Pandas

Pandas是Python中最受欢迎的数据处理库之一,它能够轻松地读取、处理、操作和分析数据。Pandas使用了两种数据结构:SeriesDataFrame

Series

Series是Pandas中的一维数组,具有标签(index)和值(value)(类似于Python中的字典)。可以通过索引来访问特定的值,也可以通过多种方式来过滤、排序、计算和处理数据。

DataFrame

DataFrame是Pandas中的二维表格数据结构,具有行索引和列索引(类似于Excel中的表格)。数据可以以多种格式(如CSV、Excel、JSON等)加载到DataFrame中,也可以通过DataFrame对象自己创建。

加载Iris数据集

加载Iris数据集的方法非常简单,可以使用Pandas中的read_csv()函数,将下载好的数据集文件读取为一个DataFrame对象。

import pandas as pd

data = pd.read_csv('iris.csv')
print(data.head())

输出前5行数据:

   sepal_length  sepal_width  petal_length  petal_width species
0           5.1          3.5           1.4          0.2  setosa
1           4.9          3.0           1.4          0.2  setosa
2           4.7          3.2           1.3          0.2  setosa
3           4.6          3.1           1.5          0.2  setosa
4           5.0          3.6           1.4          0.2  setosa

数据的基本信息

了解数据的基本信息非常重要,可以使用info()函数来查看数据的基本信息。

data.info()

输出结果:

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 150 entries, 0 to 149
Data columns (total 5 columns):
 #   Column        Non-Null Count  Dtype  
---  ------        --------------  -----  
 0   sepal_length  150 non-null    float64
 1   sepal_width   150 non-null    float64
 2   petal_length  150 non-null    float64
 3   petal_width   150 non-null    float64
 4   species       150 non-null    object 
dtypes: float64(4), object(1)
memory usage: 6.0+ KB

从上述结果中我们可以看出,数据集总共有150个样本,每个样本有5个特征,其中萼片长度、萼片宽度、花瓣长度和花瓣宽度均为数值型数据,鸢尾花的种类为字符串类型。

数据的统计信息

使用describe()函数可以快速查看数据的基本统计信息,如均值、标准差、最大值、最小值等。

print(data.describe())

输出结果:

       sepal_length  sepal_width  petal_length  petal_width
count    150.000000   150.000000    150.000000   150.000000
mean       5.843333     3.054000      3.758667     1.198667
std        0.828066     0.433594      1.764420     0.763161
min        4.300000     2.000000      1.000000     0.100000
25%        5.100000     2.800000      1.600000     0.300000
50%        5.800000     3.000000      4.350000     1.300000
75%        6.400000     3.300000      5.100000     1.800000
max        7.900000     4.400000      6.900000     2.500000

数据的分组和聚合

使用groupby()agg()函数可以对数据进行分组和聚合操作,例如我们想查看不同种类鸢尾花每个特征的均值,可以这样写:

print(data.groupby('species').agg('mean'))

输出结果:

            sepal_length  sepal_width  petal_length  petal_width
species                                                        
setosa             5.006        3.428         1.462        0.246
versicolor         5.936        2.770         4.260        1.326
virginica          6.588        2.974         5.552        2.026

此外,还可以使用其他的函数进行更加复杂的聚合操作,具体可以参考Pandas官方文档。

以上就是Python使用Iris数据集的Pandas基础知识的讲解,希望对您有所帮助。