第六次作业

numpy数据集练习

1. 安装scipy,numpy,sklearn包

2. 从sklearn包自带的数据集中读出鸢尾花数据集data

3.查看data类型,包含哪些数据

4.取出鸢尾花特征和鸢尾花类别数据,查看其形状及数据类型

5.取出所有花的花萼长度(cm)的数据

6.取出所有花的花瓣长度(cm)+花瓣宽度(cm)的数据

7.取出某朵花的四个特征及其类别。

8.将所有花的特征和类别分成三组,每组50个

9.生成新的数组,每个元素包含四个特征+类别

 

运行代码

#安装scipy,numpy,sklearn包
import numpy
from sklearn.datasets import load_iris

#从sklearn包自带的数据集中读出鸢尾花数据集data
data = load_iris()

#查看data类型,包含哪些数据
print('数据类型是:',type(data))
print('包含的数据有:',data.keys())

#取出鸢尾花特征和鸢尾花类别数据,查看其形状及数据类型
iris_feature = data['feature_names'],data['data']
print('鸢尾花的特征是:',iris_feature)
iris_target = data['target_names']
print('鸢尾花的类别数据是:',iris_target)
iris_shape = iris_target,data['target']
print('鸢尾花的形状是:',iris_shape)
print('鸢尾花的数据类型是:',type(iris_shape))

#取出所有花的花萼长度(cm)的数据
sepal_length = numpy.array(list(len[0] for len in data['data']))
print('所有花萼长度是:',sepal_length)

#取出所有花的花瓣长度(cm) + 花瓣宽度(cm)的数据
petal_length = numpy.array(list(len[2] for len in data['data']))
petal_length.resize(15,10)
petal_width = numpy.array(list(len[3] for len in data['data']))
petal_width.resize(15,10)
iris_lens = (petal_length,petal_width)
print('所有花瓣的长度+宽度是:',iris_lens)

#取出某朵花的四个特征及其类别。
print('特征是:',data['data'][0])
print('类别是:',data['target'][0])

#将所有花的特征和类别分成三组,每组50个
iris_setosa = [] #存放类别为setosa的数据组
iris_versicolor = [] #存放类别为versicolor的数据组
iris_virginica = [] #存放类别为virginica的数据组
##利用for循环分类
for x in range(0,150):
if data['target'][x] == 0:
datas = data['data'][x].tolist()
datas.append('setosa')
iris_setosa.append(datas) #当target为0时,对应setosa类型,生成数据组
elif data['target'][x] == 1:
datas = data['data'][x].tolist()
datas.append('versicolor')
iris_versicolor.append(datas) #当target为1时,对应versicolor类型,生成数据组
else:
datas = data['data'][x].tolist()
datas.append('virginica')
iris_versicolor.append(datas) #其余的对应virginica类型,生成数据组

#生成新的数组,每个元素包含四个特征 + 类别
new_datas = (iris_setosa,iris_versicolor,iris_virginica)
print('生成的新数组是:',new_datas)

 运行结果

 

posted @ 2018-10-14 17:36  SuperLIi  阅读(115)  评论(0)    收藏  举报