numpy数据集练习

 
import numpy
from sklearn.datasets import load_iris
#从sklearn包自带的数据集中读出鸢尾花数据集data
data=load_iris()
print(data)
print(type(data))#查看data类型
data.keys()#包含哪些数据
#取出鸢尾花特征和鸢尾花类别数据,查看其形状及数据类型
iris_feature=data['feature_names'],data['data']
iris_target=data.target_names,data.target
print('鸢尾花数据:',iris_feature)
print('鸢尾花形状类别:',iris_target)
sepal_len = numpy.array(list(len[0] for len in data['data']))
print('所有花萼长度:',sepal_len)
#取出所有花的花瓣长度(cm)+花瓣宽度(cm)的数据
petal_len = numpy.array(list(len[2] for len in data['data']))
petal_len.resize(5,30)  #重新分配花瓣长度petal_len的内存
petal_wid = numpy.array(list(len[3] for len in data['data']))
petal_wid.resize(5,30)  #重新分配花瓣宽度petal_wid的内存
iris_lens = (petal_len,petal_wid)
print('所有花瓣长宽:',iris_lens)
#取出某朵花的四个特征及其类别。
print(data['data'][1],data['target'][1])
#将所有花的特征和类别分成三组,每组50个
iris_set = []  #0表示山鸢尾花
iris_ver = []  #1表示杂色鸢尾花
iris_vir = []  #3表示维吉尼亚鸢尾花 
for i in range(0,150):  #for循环遍历所有的数据
    if data['target'][i] == 0:  # 类别为0的为setosa花,生成一条setosa类的鸢尾花数据
        db = data['data'][i].tolist()
        db.append('setosa')
        iris_set.append(db)
    elif data['target'][i]==1:  # 类别为1的即为versicolor,生成一条versicolor类的鸢尾花数据
        db = data['data'][i].tolist()
        db.append('versicolor')
        iris_ver.append(db)
    else:                          #剩下类别为virginica鸢尾花数据
        db = data['data'][i].tolist()
        db.append('virginica')
        iris_vir.append(db)
# 9.生成新的数组,每个元素包含四个特征+类别
iris_result = numpy.array([iris_set, iris_ver, iris_vir])
print("分组:", iris_result)

 

结果:

 

 

 

posted @ 2018-10-14 14:28  W梨涡浅笑  阅读(160)  评论(0)    收藏  举报