pandas方法属性详解

 

data.csv和student_data数据在文章底部

 

 

方法讲解

 

 

read_csv

 

读取csv文件

 

例子:

 

import pands as pd

 

file = 'data.csv'

 

# df是一个DataFrame结构

df = pd.read_csv(file, header=None)

 

其中,header=None代表数据源没有标题,从第一行开始读取,若不写header=None则默认第一行为列名,在数据操作时会忽略第一行

 

 

 

dtypes

 

获取数据的类型

 

例子:

 

data = pd.read_csv("data.csv")

 

print(data.dtypes)

 

输出如下:

 

花萼长度 float64

花萼宽度 float64

花瓣长度 float64

花瓣宽度 float64

种类 object

dtype: object

 

 

 

 

head

 

获取数据头部,默认第一行为标题,附加前五行,总共六行。也可以指定输出前多少行,除标题外,每行数据头部会显示行号。

 

例子:

 

data = pd.read_csv("data.csv")

 

print(data.head())

 

print(data.head(3))

 

输出如下:

 

花萼长度 花萼宽度 花瓣长度 花瓣宽度 种类

0 5.1 3.5 1.4 0.2 Iris-setosa

1 4.9 3.0 1.4 0.2 Iris-setosa

2 4.7 3.2 1.3 0.2 Iris-setosa

3 4.6 3.1 1.5 0.2 Iris-setosa

4 5.0 3.6 1.4 0.2 Iris-setosa

 

花萼长度 花萼宽度 花瓣长度 花瓣宽度 种类

0 5.1 3.5 1.4 0.2 Iris-setosa

1 4.9 3.0 1.4 0.2 Iris-setosa

2 4.7 3.2 1.3 0.2 Iris-setosa

 

 

 

 

tail

 

获取数据头部,默认第一行为标题,附加最后五行,总共六行。也可以指定输出最后多少行,除标题外,每行数据头部会显示下标(该下标为去掉头部从0开始的下标)。

 

data = pd.read_csv("data.csv")

 

print(data.tail())

 

print(data.tail(3))

 

输出如下:

 

花萼长度 花萼宽度 花瓣长度 花瓣宽度 种类

145 6.7 3.0 5.2 2.3 Iris-virginica

146 6.3 2.5 5.0 1.9 Iris-virginica

147 6.5 3.0 5.2 2.0 Iris-virginica

148 6.2 3.4 5.4 2.3 Iris-virginica

149 5.9 3.0 5.1 1.8 Iris-virginica

 

花萼长度 花萼宽度 花瓣长度 花瓣宽度 种类

147 6.5 3.0 5.2 2.0 Iris-virginica

148 6.2 3.4 5.4 2.3 Iris-virginica

149 5.9 3.0 5.1 1.8 Iris-virginica

 

 

 

 

columns

 

获取数据列名

 

例子:

 

import pandas as pd

 

data = pd.read_csv("data.csv")

 

# 包含dtype

print(data.columns)

 

# 单输出列名,list类型

print(data.columns.tolist())

 

输出如下:

 

Index(['花萼长度', '花萼宽度', '花瓣长度', '花瓣宽度', '种类'], dtype='object')

 

['花萼长度', '花萼宽度', '花瓣长度', '花瓣宽度', '种类']

 

 

 

 

shape

 

获取数据样本个数(不算头部)与列数

 

例子:

 

data = pd.read_csv("data.csv")

 

print(data.shape)

 

输出如下:

 

(150, 5)

 

 

 

 

获取指定列数据

 

可以获取到指定列的所有数据

 

例子:

 

# 获取某一列数据

a = data["花瓣长度"]

 

# 获取某几列数据

b = data[["花瓣长度", "花瓣宽度"]]

 

print(a)

 

print(b)

 

输出如下:

 

0 1.4

1 1.4

2 1.3

3 1.5

4 1.4

5 1.7

6 1.4

7 1.5

8 1.4

9 1.5

10 1.5

11 1.6

...

141 5.1

142 5.1

143 5.9

144 5.7

145 5.2

146 5.0

147 5.2

148 5.4

149 5.1

Name: 花瓣长度, Length: 150, dtype: float64

 

 

花瓣长度 花瓣宽度

0 1.4 0.2

1 1.4 0.2

2 1.3 0.2

3 1.5 0.2

4 1.4 0.2

5 1.7 0.4

6 1.4 0.3

.. ... ...

140 5.6 2.4

141 5.1 2.3

142 5.1 1.9

143 5.9 2.3

144 5.7 2.5

145 5.2 2.3

146 5.0 1.9

147 5.2 2.0

148 5.4 2.3

149 5.1 1.8

 

[150 rows x 2 columns]

 

 

 

 

loc

 

读取指定行数的值

 

例子:

 

import pands as pd

 

file = 'data.csv'

 

data = pd.read_csv(file)

 

# 获取0下标对应的数据,会显示标题和dtype

a = data.loc[0]

 

# 只显示数据

b = data.loc[0].values

 

# 获取下标3~下标6的数据

c = data.loc[3:6].values

 

# 获取下标2 、 5 、 10 的数据

d = data.loc[[2, 5 ,10]].values

 

# 提取数据的0~100行的值,包含第100行(header=None时调用才不会报错)

# e = data.loc[0:100].values

 

# 提取数据的0~100行的第四列的值(header=None时调用才不会报错)

# f = data.loc[0:100, 4].values

 

# 提取数据的0~100行的第二、四列的值(header=None时调用才不会报错)

# g = data.loc[0:100, [2,4]].values

 

print(a)

 

print(b)

 

print(c)

 

print(d)

 

输出如下:

 

花萼长度 5.1

花萼宽度 3.5

花瓣长度 1.4

花瓣宽度 0.2

种类 Iris-setosa

Name: 0, dtype: object

 

[5.1 3.5 1.4 0.2 'Iris-setosa']

 

[[4.6 3.1 1.5 0.2 'Iris-setosa']

[5.0 3.6 1.4 0.2 'Iris-setosa']

[5.4 3.9 1.7 0.4 'Iris-setosa']

[4.6 3.4 1.4 0.3 'Iris-setosa']]

 

[[4.7 3.2 1.3 0.2 'Iris-setosa']

[5.4 3.9 1.7 0.4 'Iris-setosa']

[5.4 3.7 1.5 0.2 'Iris-setosa']]

 

 

 

 

iloc

 

读取指定行数的值,与loc用法相似

 

例子:

 

import pands as pd

 

file = 'data.csv'

 

df = pd.read_csv(file, header=None)

 

 

 

 

sort_values

 

对数据中的列进行排序,默认升序

 

例子:

 

# 数据的某一列进行排序,inplace=True代表排序后的结果赋予给data对象,默认为False,生产一个新的对象

data.sort_values("花萼长度", inplace=True)

 

# 数据中的列进行降序排列,ascending = False代表降序,ascending默认 = True

a = data.sort_values("花萼长度", ascending=False)

 

print(data["花萼长度"])

print("-"*80)

print(data)

print("-"*80)

print(a)

 

输出如下:

 

13 4.3

42 4.4

38 4.4

8 4.4

41 4.5

...

122 7.7

118 7.7

117 7.7

135 7.7

131 7.9

Name: 花萼长度, Length: 150, dtype: float64

 

--------------------------------------------------------------------------------

 

花萼长度 花萼宽度 花瓣长度 花瓣宽度 种类

13 4.3 3.0 1.1 0.1 Iris-setosa

42 4.4 3.2 1.3 0.2 Iris-setosa

38 4.4 3.0 1.3 0.2 Iris-setosa

8 4.4 2.9 1.4 0.2 Iris-setosa

41 4.5 2.3 1.3 0.3 Iris-setosa

.. ... ... ... ... ...

130 7.4 2.8 6.1 1.9 Iris-virginica

105 7.6 3.0 6.6 2.1 Iris-virginica

122 7.7 2.8 6.7 2.0 Iris-virginica

118 7.7 2.6 6.9 2.3 Iris-virginica

117 7.7 3.8 6.7 2.2 Iris-virginica

135 7.7 3.0 6.1 2.3 Iris-virginica

131 7.9 3.8 6.4 2.0 Iris-virginica

 

[150 rows x 5 columns]

 

--------------------------------------------------------------------------------

 

花萼长度 花萼宽度 花瓣长度 花瓣宽度 种类

131 7.9 3.8 6.4 2.0 Iris-virginica

135 7.7 3.0 6.1 2.3 Iris-virginica

117 7.7 3.8 6.7 2.2 Iris-virginica

118 7.7 2.6 6.9 2.3 Iris-virginica

122 7.7 2.8 6.7 2.0 Iris-virginica

105 7.6 3.0 6.6 2.1 Iris-virginica

.. ... ... ... ... ...

22 4.6 3.6 1.0 0.2 Iris-setosa

41 4.5 2.3 1.3 0.3 Iris-setosa

38 4.4 3.0 1.3 0.2 Iris-setosa

42 4.4 3.2 1.3 0.2 Iris-setosa

8 4.4 2.9 1.4 0.2 Iris-setosa

13 4.3 3.0 1.1 0.1 Iris-setosa

 

[150 rows x 5 columns]

 

 

 

 

reset_index

 

重置index值,一般用于排序之后

 

例子:

 

# 查看排在前十的花瓣长度

a = data.sort_values("花瓣长度",ascending=False)[0:10]

 

# 把排序后的数据重新生成index,drop表示是否删除原来的index,默认为True

b = a.reset_index(drop=True)

 

print(a)

 

print(b)

 

输出如下:

 

花萼长度 花萼宽度 花瓣长度 花瓣宽度 种类

118 7.7 2.6 6.9 2.3 Iris-virginica

122 7.7 2.8 6.7 2.0 Iris-virginica

117 7.7 3.8 6.7 2.2 Iris-virginica

105 7.6 3.0 6.6 2.1 Iris-virginica

131 7.9 3.8 6.4 2.0 Iris-virginica

107 7.3 2.9 6.3 1.8 Iris-virginica

130 7.4 2.8 6.1 1.9 Iris-virginica

109 7.2 3.6 6.1 2.5 Iris-virginica

135 7.7 3.0 6.1 2.3 Iris-virginica

100 6.3 3.3 6.0 2.5 Iris-virginica

 

花萼长度 花萼宽度 花瓣长度 花瓣宽度 种类

0 7.7 2.6 6.9 2.3 Iris-virginica

1 7.7 2.8 6.7 2.0 Iris-virginica

2 7.7 3.8 6.7 2.2 Iris-virginica

3 7.6 3.0 6.6 2.1 Iris-virginica

4 7.9 3.8 6.4 2.0 Iris-virginica

5 7.3 2.9 6.3 1.8 Iris-virginica

6 7.4 2.8 6.1 1.9 Iris-virginica

7 7.2 3.6 6.1 2.5 Iris-virginica

8 7.7 3.0 6.1 2.3 Iris-virginica

9 6.3 3.3 6.0 2.5 Iris-virginica

 

 

 

 

apply

 

自定义函数

 

例子:

 

# 使用apply去获取第100行数据

def get_hundred_row(petal_data):

return petal_data.loc[99]

 

# 直接传递参数来获取第50行数据

def get_fifty_row(petal_data):

return petal_data.loc[49]

 

hundred_row = data.apply(get_hundred_row)

 

fifty_row = get_fifty_row(data)

 

print(hundred_row)

print('-'*80)

print(fifty_row)

 

输出如下:

 

花萼长度 5.7

花萼宽度 2.8

花瓣长度 4.1

花瓣宽度 1.3

种类 Iris-versicolor

dtype: object

--------------------------------------------------------------------------------

花萼长度 5

花萼宽度 3.3

花瓣长度 1.4

花瓣宽度 0.2

种类 Iris-setosa

Name: 49, dtype: object

 

 

 

 

apply和直接调用函数的区别

 

普通的函数调用是用数据去执行函数中的语句,而apply则是用数据的每一行单独去执行函数中的语句,并返回一个总体值。

 

例子:

 

df1 = pd.DataFrame({

"语文":[60,72,None,80],

"数学":[70,None,58,80],

"英语":[80,20,50,60]

})

 

# 想要获取每一列的空元素个数

def not_null_count(column):

column_null = pd.isnull(column)

null = column[column_null]

return len(null)

 

a = not_null_count(df1["语文"])

 

b = not_null_count(df1["数学"])

 

c = not_null_count(df1["英语"])

 

# df1使用apply函数,直接把df1中的每一列分别执行not_null_count函数中的代码

column_null_count = df1.apply(not_null_count)

 

print(df1)

print('-'*80)

 

print(a)

print('-'*80)

print(b)

print('-'*80)

print(c)

print('-'*80)

 

print(column_null_count)

 

输出如下:

 

语文 数学 英语

0 60.0 70.0 80

1 72.0 NaN 20

2 NaN 58.0 50

3 80.0 80.0 60

--------------------------------------------------------------------------------

1

--------------------------------------------------------------------------------

1

--------------------------------------------------------------------------------

0

--------------------------------------------------------------------------------

语文 1

数学 1

英语 0

dtype: int64

 

 

 

 

获取最大值和最小值和平均值

 

可以在获取到某一列后使用.max与.min来分别获取改列的最大值与最小值

 

例子:

 

a = data["花瓣长度"]

 

print(a.min())

 

print(a.max())语文 数学 英语

0 60.0 70.0 80

1 72.0 NaN 20

2 NaN 58.0 50

3 80.0 80.0 60

--------------------------------------------------------------------------------

1

--------------------------------------------------------------------------------

1

--------------------------------------------------------------------------------

0

--------------------------------------------------------------------------------

语文 1

数学 1

英语 0

dtype: int64

 

print(a.mean())

 

输出如下:

 

1.0

 

6.9

 

3.758666666666666

 

 

 

 

pivot_table

 

统计一个列和其他列关系的一个函数。

 

例子如下:

 

import numpy as np

 

import pandas as pd

 

data = pd.read_csv("data.csv")

 

# 获取各种类花瓣的平均长度,aggfunc的默认值是求平均数

mean_length = data.pivot_table(index="种类", values="花瓣长度", aggfunc=np.mean)

 

# 获取各种类花瓣的最大长度

max_length = data.pivot_table(index="种类", values="花瓣长度", aggfunc=np.max)

 

print(mean_length)

 

print(max_length)

 

输出如下:

 

花瓣长度

种类

Iris-setosa 1.464

Iris-versicolor 4.260

Iris-virginica 5.552

 

花瓣长度

种类

Iris-setosa 1.9

Iris-versicolor 5.1

Iris-virginica 6.9

 

 

 

 

Series

 

Series是Pandas中的一维数据结构,pandas读取到的数据一般都是DataFram结构,而Series则是DataFram的某一列数据。而Series的values属性,则是获取该Series中的值,会返回一个ndarray类型。

 

例子:

 

a = data['花瓣长度']

 

b = a.values

 

print(type(a))

 

print(type(b))

 

输出如下:

 

<class 'pandas.core.series.Series'>

 

<class 'numpy.ndarray'>

 

 

 

 

Series索引

 

可以自己创建一个Series,并通过对应的下标去检索对应的。

 

例子:

 

from pandas import Series

 

petal_length = data["花瓣长度"].values

 

petal_width = data["花瓣宽度"].values

 

# 创建一个Series对象,以花瓣宽度为下标,去取出对应的花瓣长度的值

series_custom = Series(petal_length, index=petal_width)

 

# 索引花瓣宽度为0.3和0.5对应的花瓣长度

a = series_custom[[0.3,0.5]]

 

print(a)

 

输出如下:

 

0.3 1.4

0.3 1.4

0.3 1.7

0.3 1.5

0.3 1.3

0.3 1.3

0.3 1.4

0.5 1.7

dtype: float64

 

 

 

 

数据批量运算

 

把一整列数据进行一个运算

 

例子:

 

a = data["花瓣长度"]

 

b = data["花瓣宽度"]

 

c = a * 10

 

d = a*b

 

data["花瓣最大面积"] = d

 

print(a)

print("-"*80)

print(b)

print("-"*80)

print(c)

print("-"*80)

print(d)

print("-"*80)

print(data)

 

输出如下:

 

0 1.4

1 1.4

2 1.3

3 1.5

...

146 5.0

147 5.2

148 5.4

149 5.1

Name: 花瓣长度, Length: 150, dtype: float64

--------------------------------------------------------------------------------

0 0.2

2 0.2

3 0.2

...

146 1.9

147 2.0

148 2.3

149 1.8

Name: 花瓣宽度, Length: 150, dtype: float64

--------------------------------------------------------------------------------

0 14.0

1 14.0

2 13.0

3 15.0

...

146 50.0

147 52.0

148 54.0

149 51.0

Name: 花瓣长度, Length: 150, dtype: float64

--------------------------------------------------------------------------------

0 0.28

1 0.28

2 0.26

3 0.30

...

133 7.65

146 9.50

147 10.40

148 12.42

149 9.18

Length: 150, dtype: float64

--------------------------------------------------------------------------------

花萼长度 花萼宽度 花瓣长度 花瓣宽度 种类 花瓣最大面积

0 5.1 3.5 1.4 0.2 Iris-setosa 0.28

1 4.9 3.0 1.4 0.2 Iris-setosa 0.28

2 4.7 3.2 1.3 0.2 Iris-setosa 0.26

3 4.6 3.1 1.5 0.2 Iris-setosa 0.30

.. ... ... ... ... ... ...

146 6.3 2.5 5.0 1.9 Iris-virginica 9.50

147 6.5 3.0 5.2 2.0 Iris-virginica 10.40

148 6.2 3.4 5.4 2.3 Iris-virginica 12.42

149 5.9 3.0 5.1 1.8 Iris-virginica 9.18

 

[150 rows x 6 columns]

 

 

 

 

isnull

 

判断某个元素是否为空,把每个元素都和NaN做个对比,生成一个和原数组对应新数组,如果元素为空,则在新数组对应位置的值为True,反之则为False

 

例子:

 

student_data = pd.read_csv('student_data.csv')

 

student_name = student_data["姓名"]

 

a = pd.isnull(student_name)

 

# 索引到对应位置的空元素

b = student_name[a]

 

c = len(b)

 

print(student_name)

print('-'*80)

print(a)

print('-'*80)

print(b)

print('-'*80)

print(c)

 

输出如下:

 

0 小明

1 小红

2 NaN

3 小黄

4 NaN

Name: 姓名, dtype: object

--------------------------------------------------------------------------------

0 False

1 False

2 True

3 False

4 True

Name: 姓名, dtype: bool

--------------------------------------------------------------------------------

2 NaN

4 NaN

Name: 姓名, dtype: object

--------------------------------------------------------------------------------

2

 

 

 

 

过滤空元素

 

如果存在空元素,则无法用数组去做某些运算。需要剔除其中的空元素。

 

例子:

 

student_age = student_data["年龄"]

 

# 存在空元素,无法进行sum求和

average_age = sum(student_age)/len(student_age)

 

age_is_null = pd.isnull(student_age)

 

# 把空元素的数据进行过滤

studen_age_no_null = student_age[age_is_null == False]

 

average_age_no_null = sum(studen_age_no_null)/len(studen_age_no_null)

 

print(student_age)

print('-'*80)

print(average_age)

print('-'*80)

print(age_is_null)

print('-'*80)

print(studen_age_no_null)

print('-'*80)

print(average_age_no_null)

 

输出如下:

 

0 5.0

1 NaN

2 4.0

3 5.0

4 5.0

Name: 年龄, dtype: float64

--------------------------------------------------------------------------------

nan

--------------------------------------------------------------------------------

0 False

1 True

2 False

3 False

4 False

Name: 年龄, dtype: bool

--------------------------------------------------------------------------------

0 5.0

2 4.0

3 5.0

4 5.0

Name: 年龄, dtype: float64

--------------------------------------------------------------------------------

4.75

 

 

 

 

student_data.csv数据:

 

学号,姓名,性别,年龄

1,小明,男,5

2,小红,女,

3,,男,4

4,小黄,男,5

5,,女,5

 

 

 

 

fillna

 

用指定值来取代NaN值

 

例子:

 

# python里面的None代表空

df1 = pd.DataFrame([[1,2,3],[None,None,2],[None,None,None],[8,8,None]])

 

# 把所有的NaN值都用100来填充,如果再加上一个入参inplace=True,直接修改df1,但不会有返回值

df2 = df1.fillna(100)

 

# 不同的列的NaN用不同的元素来填充

df3 = df1.fillna({0:100, 1:200, 2:300})

 

print(df1)

 

print(df2)

 

print(df3)

 

输出如下:

 

0 1 2

0 1.0 2.0 3.0

1 NaN NaN 2.0

2 NaN NaN NaN

3 8.0 8.0 NaN

 

0 1 2

0 1.0 2.0 3.0

1 100.0 100.0 2.0

2 100.0 100.0 100.0

3 8.0 8.0 100.0

 

0 1 2

0 1.0 2.0 3.0

1 100.0 200.0 2.0

2 100.0 200.0 300.0

3 8.0 8.0 300.0

 

 

 

 

dropna

 

删除指定的行或列

 

例子:

 

df1 = pd.DataFrame({

"语文":[60,72,None,80],

"数学":[70,None,58,80],

"英语":[80,20,50,60]

})

 

# 删除所有包含空元素的列

df2 = df1.dropna(axis=1)

 

# 若是某一行中语文这一列的数据为空,则删除这一行

df3 = df1.dropna(axis=0,subset=["语文"])

 

print(df1)

print('-'*80)

print(df2)

print('-'*80)

print(df3)

 

输出如下:

 

语文 数学 英语

0 60.0 70.0 80

1 72.0 NaN 20

2 NaN 58.0 50

3 80.0 80.0 60

--------------------------------------------------------------------------------

英语

0 80

1 20

2 50

3 60

--------------------------------------------------------------------------------

语文 数学 英语

0 60.0 70.0 80

1 72.0 NaN 20

3 80.0 80.0 60

 

 

 

 

获取某行某列的数据

 

例子:

 

df1 = pd.DataFrame({

"语文":[60,72,None,80],

"数学":[70,None,58,80],

"英语":[80,20,50,60]

})

 

branch = df1.loc[2, "英语"]

 

print(df1)

print('-'*80)

print(branch)

 

输出如下:

 

语文 数学 英语

0 60.0 70.0 80

1 72.0 NaN 20

2 NaN 58.0 50

3 80.0 80.0 60

--------------------------------------------------------------------------------

50

 

 

 

 

data.csv数据:

 

花萼长度,花萼宽度,花瓣长度,花瓣宽度,种类

5.1,3.5,1.4,0.2,Iris-setosa

4.9,3.0,1.4,0.2,Iris-setosa

4.7,3.2,1.3,0.2,Iris-setosa

4.6,3.1,1.5,0.2,Iris-setosa

5.0,3.6,1.4,0.2,Iris-setosa

5.4,3.9,1.7,0.4,Iris-setosa

4.6,3.4,1.4,0.3,Iris-setosa

5.0,3.4,1.5,0.2,Iris-setosa

4.4,2.9,1.4,0.2,Iris-setosa

4.9,3.1,1.5,0.1,Iris-setosa

5.4,3.7,1.5,0.2,Iris-setosa

4.8,3.4,1.6,0.2,Iris-setosa

4.8,3.0,1.4,0.1,Iris-setosa

4.3,3.0,1.1,0.1,Iris-setosa

5.8,4.0,1.2,0.2,Iris-setosa

5.7,4.4,1.5,0.4,Iris-setosa

5.4,3.9,1.3,0.4,Iris-setosa

5.1,3.5,1.4,0.3,Iris-setosa

5.7,3.8,1.7,0.3,Iris-setosa

5.1,3.8,1.5,0.3,Iris-setosa

5.4,3.4,1.7,0.2,Iris-setosa

5.1,3.7,1.5,0.4,Iris-setosa

4.6,3.6,1.0,0.2,Iris-setosa

5.1,3.3,1.7,0.5,Iris-setosa

4.8,3.4,1.9,0.2,Iris-setosa

5.0,3.0,1.6,0.2,Iris-setosa

5.0,3.4,1.6,0.4,Iris-setosa

5.2,3.5,1.5,0.2,Iris-setosa

5.2,3.4,1.4,0.2,Iris-setosa

4.7,3.2,1.6,0.2,Iris-setosa

4.8,3.1,1.6,0.2,Iris-setosa

5.4,3.4,1.5,0.4,Iris-setosa

5.2,4.1,1.5,0.1,Iris-setosa

5.5,4.2,1.4,0.2,Iris-setosa

4.9,3.1,1.5,0.1,Iris-setosa

5.0,3.2,1.2,0.2,Iris-setosa

5.5,3.5,1.3,0.2,Iris-setosa

4.9,3.1,1.5,0.1,Iris-setosa

4.4,3.0,1.3,0.2,Iris-setosa

5.1,3.4,1.5,0.2,Iris-setosa

5.0,3.5,1.3,0.3,Iris-setosa

4.5,2.3,1.3,0.3,Iris-setosa

4.4,3.2,1.3,0.2,Iris-setosa

5.0,3.5,1.6,0.6,Iris-setosa

5.1,3.8,1.9,0.4,Iris-setosa

4.8,3.0,1.4,0.3,Iris-setosa

5.1,3.8,1.6,0.2,Iris-setosa

4.6,3.2,1.4,0.2,Iris-setosa

5.3,3.7,1.5,0.2,Iris-setosa

5.0,3.3,1.4,0.2,Iris-setosa

7.0,3.2,4.7,1.4,Iris-versicolor

6.4,3.2,4.5,1.5,Iris-versicolor

6.9,3.1,4.9,1.5,Iris-versicolor

5.5,2.3,4.0,1.3,Iris-versicolor

6.5,2.8,4.6,1.5,Iris-versicolor

5.7,2.8,4.5,1.3,Iris-versicolor

6.3,3.3,4.7,1.6,Iris-versicolor

4.9,2.4,3.3,1.0,Iris-versicolor

6.6,2.9,4.6,1.3,Iris-versicolor

5.2,2.7,3.9,1.4,Iris-versicolor

5.0,2.0,3.5,1.0,Iris-versicolor

5.9,3.0,4.2,1.5,Iris-versicolor

6.0,2.2,4.0,1.0,Iris-versicolor

6.1,2.9,4.7,1.4,Iris-versicolor

5.6,2.9,3.6,1.3,Iris-versicolor

6.7,3.1,4.4,1.4,Iris-versicolor

5.6,3.0,4.5,1.5,Iris-versicolor

5.8,2.7,4.1,1.0,Iris-versicolor

6.2,2.2,4.5,1.5,Iris-versicolor

5.6,2.5,3.9,1.1,Iris-versicolor

5.9,3.2,4.8,1.8,Iris-versicolor

6.1,2.8,4.0,1.3,Iris-versicolor

6.3,2.5,4.9,1.5,Iris-versicolor

6.1,2.8,4.7,1.2,Iris-versicolor

6.4,2.9,4.3,1.3,Iris-versicolor

6.6,3.0,4.4,1.4,Iris-versicolor

6.8,2.8,4.8,1.4,Iris-versicolor

6.7,3.0,5.0,1.7,Iris-versicolor

6.0,2.9,4.5,1.5,Iris-versicolor

5.7,2.6,3.5,1.0,Iris-versicolor

5.5,2.4,3.8,1.1,Iris-versicolor

5.5,2.4,3.7,1.0,Iris-versicolor

5.8,2.7,3.9,1.2,Iris-versicolor

6.0,2.7,5.1,1.6,Iris-versicolor

5.4,3.0,4.5,1.5,Iris-versicolor

6.0,3.4,4.5,1.6,Iris-versicolor

6.7,3.1,4.7,1.5,Iris-versicolor

6.3,2.3,4.4,1.3,Iris-versicolor

5.6,3.0,4.1,1.3,Iris-versicolor

5.5,2.5,4.0,1.3,Iris-versicolor

5.5,2.6,4.4,1.2,Iris-versicolor

6.1,3.0,4.6,1.4,Iris-versicolor

5.8,2.6,4.0,1.2,Iris-versicolor

5.0,2.3,3.3,1.0,Iris-versicolor

5.6,2.7,4.2,1.3,Iris-versicolor

5.7,3.0,4.2,1.2,Iris-versicolor

5.7,2.9,4.2,1.3,Iris-versicolor

6.2,2.9,4.3,1.3,Iris-versicolor

5.1,2.5,3.0,1.1,Iris-versicolor

5.7,2.8,4.1,1.3,Iris-versicolor

6.3,3.3,6.0,2.5,Iris-virginica

5.8,2.7,5.1,1.9,Iris-virginica

7.1,3.0,5.9,2.1,Iris-virginica

6.3,2.9,5.6,1.8,Iris-virginica

6.5,3.0,5.8,2.2,Iris-virginica

7.6,3.0,6.6,2.1,Iris-virginica

4.9,2.5,4.5,1.7,Iris-virginica

7.3,2.9,6.3,1.8,Iris-virginica

6.7,2.5,5.8,1.8,Iris-virginica

7.2,3.6,6.1,2.5,Iris-virginica

6.5,3.2,5.1,2.0,Iris-virginica

6.4,2.7,5.3,1.9,Iris-virginica

6.8,3.0,5.5,2.1,Iris-virginica

5.7,2.5,5.0,2.0,Iris-virginica

5.8,2.8,5.1,2.4,Iris-virginica

6.4,3.2,5.3,2.3,Iris-virginica

6.5,3.0,5.5,1.8,Iris-virginica

7.7,3.8,6.7,2.2,Iris-virginica

7.7,2.6,6.9,2.3,Iris-virginica

6.0,2.2,5.0,1.5,Iris-virginica

6.9,3.2,5.7,2.3,Iris-virginica

5.6,2.8,4.9,2.0,Iris-virginica

7.7,2.8,6.7,2.0,Iris-virginica

6.3,2.7,4.9,1.8,Iris-virginica

6.7,3.3,5.7,2.1,Iris-virginica

7.2,3.2,6.0,1.8,Iris-virginica

6.2,2.8,4.8,1.8,Iris-virginica

6.1,3.0,4.9,1.8,Iris-virginica

6.4,2.8,5.6,2.1,Iris-virginica

7.2,3.0,5.8,1.6,Iris-virginica

7.4,2.8,6.1,1.9,Iris-virginica

7.9,3.8,6.4,2.0,Iris-virginica

6.4,2.8,5.6,2.2,Iris-virginica

6.3,2.8,5.1,1.5,Iris-virginica

6.1,2.6,5.6,1.4,Iris-virginica

7.7,3.0,6.1,2.3,Iris-virginica

6.3,3.4,5.6,2.4,Iris-virginica

6.4,3.1,5.5,1.8,Iris-virginica

6.0,3.0,4.8,1.8,Iris-virginica

6.9,3.1,5.4,2.1,Iris-virginica

6.7,3.1,5.6,2.4,Iris-virginica

6.9,3.1,5.1,2.3,Iris-virginica

5.8,2.7,5.1,1.9,Iris-virginica

6.8,3.2,5.9,2.3,Iris-virginica

6.7,3.3,5.7,2.5,Iris-virginica

6.7,3.0,5.2,2.3,Iris-virginica

6.3,2.5,5.0,1.9,Iris-virginica

6.5,3.0,5.2,2.0,Iris-virginica

6.2,3.4,5.4,2.3,Iris-virginica

5.9,3.0,5.1,1.8,Iris-virginica

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值