numpy数据集练习

1. 安装scipy,numpy,sklearn包

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

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

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

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

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

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

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

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

10.计算鸢尾花花瓣长度的最大值,平均值,中值,均方差。

11.显示鸢尾花某一特征的曲线图,散点图。

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']
# 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)

  

 

#10.计算鸢尾花花瓣长度的最大值,平均值,中值,均方差。
data_len=numpy.array(list(len[2] for len in data['data']))
print(data_len)
print(numpy.max(data_len))
print(numpy.mean(data_len))
print(numpy.median(data_len))
print(numpy.std(data_len))

#11.显示鸢尾花某一特征的曲线图,散点图。
import matplotlib.pyplot as plt
plt.plot(numpy.linspace(0,150,num=150),data_len,'b')  #花瓣曲线图
plt.show()
plt.scatter(numpy.linspace(0,150,num=150),data_len,marker='o')#花瓣图
plt.show()

  

 

posted on 2018-11-05 08:26  黄晓伟。  阅读(170)  评论(0编辑  收藏  举报