numpy数据集练习

#安装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 on 2018-11-05 08:33  zz,ZZ  阅读(111)  评论(0编辑  收藏  举报

导航