numpy练习

from sklearn.datasets import load_iris
import numpy as np

data=load_iris() #从sklearn包自带的数据集中读出鸢尾花数据集data,并判断其数据类型
print(data)

print("类型:",type(data))
print("包含数据:",data.keys())  #查看data类型,包含哪些数据集

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

iris_target=data.target  
print("鸢尾花数据类型:",iris_target) type(iris_feature)
type(iris_feature)
type(iris_target)

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

iris1_len=np.array(list(len[2] for len in data['data']))   #遍历所有花瓣长度
iris1_len.resize((10,15))       #将长度生成二维数组
iris1_wid=np.array(list(len[3] for len in data['data']))      #遍历所有花瓣宽度
iris1_wid.resize((10,15))       #将宽度生成二维数组
iris1_len_wid=np.array(dict(length=iris1_len,width=iris1_wid))     #将花瓣长度和宽度生成一个字典
print("所有花瓣长宽:",iris1_len_wid)

print("第二朵花数据:",data['data'][1],data['target'][1])     #取出某朵花的四个特征及其类别。


iris_setosa=[]      #定义三个新列表用于存放数据
iris_versicolor=[]
iris_virginica=[]

for i in range(0,150):         #用for循环分类,并把target为0和1分别放入setosa类型和versicolor存放
    if data['target'][i]==0:
        data1=data['data'][i].tolist()
        data1.append('setosa')
        iris_setosa.append(data1)
    elif data['target'][i]==1:
        data1=data['data'][i].tolist()
        data1.append('versicolor')
        iris_versicolor.append(data1)
    else:
        data1=data['data'][i].tolist()
        data1.append('virginica')
        iris_virginica.append(data1)
        

data2=np.array([iris_setosa,iris_versicolor,iris_virginica])  #生成新的数组,每个元素包含四个特征+类别
print("结果:",data2)

 

 

 

 

 

 

 

posted @ 2018-10-13 23:28  何美玲  阅读(181)  评论(0编辑  收藏  举报