numpy数据集练习

1. 安装scipy,numpy,sklearn包

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

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

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

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

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

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

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

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

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

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

 

#1. 安装scipy,numpy,sklearn包
import numpy as np
from sklearn.datasets import load_iris
 
#2. 从sklearn包自带的数据集中读出鸢尾花数据集data
data = load_iris()
 
#3.查看data类型,包含哪些数据
print('data类型:',type(data))
print('包含的数据有:',data.keys())
#print(data)
 
#4.取出鸢尾花特征和鸢尾花类别数据,查看其形状及数据类型
data_feature = data.feature_names
iris_data = data.data
print('鸢尾花的特征:',data_feature,iris_data)
data_target = data.target_names
print('鸢尾花的类别:',data_target)
iris_data = data.target
print('数据类型:',type(iris_data))
 
#5.取出所有花的花萼长度(cm)的数据
sepal_length = np.array(list(len[0] for len in data['data']))
print('所有花萼长度是:',sepal_length)
 
#6.取出所有花的花瓣长度(cm)+花瓣宽度(cm)的数据
for item in data:
    # 花瓣长度
    petal_len = np.array(list(len[2] for len in data.data))
    # 花萼宽度
    petal_wid = np.array(list(len[3] for len in data.data))
iris_len = (petal_len,petal_wid)
print(iris_len)
#7.取出某朵花的四个特征及其类别。
print(data.data[1],data.target[1])
#8.将所有花的特征和类别分成三组,每组50个
iris_set = []
iris_ver = []
iris_vir = []
 
# 循环遍历所有的数据
for i in range(0, 150):
    # 类别为0的为 setosa 花,生成一条setosa类的鸢尾花数据
    if data.target[i] == 0:
        Data = data.data[i].tolist()
        Data.append('setosa')
        iris_set.append(Data)
 
    # 类别为1的即为 versicolor,生成一条versicolor类的鸢尾花数据
    elif data.target[i] == 1:
        Data = data.data[i].tolist()
        Data.append('versicolor')
        iris_ver.append(Data)
    # 3 为维吉尼亚鸢尾花
    else:
        Data = data.data[i].tolist()
        Data.append('virginica')
        iris_vir.append(Data)
print(iris_set,iris_ver,iris_vir)
#9.生成新的数组,每个元素包含四个特征+类别
iris_result = np.array([iris_set, iris_ver, iris_vir])
print("分组:", iris_result)
#10.计算鸢尾花花瓣长度的最大值,平均值,中值,均方差。
petal_length = np.array(list(len[3] for len in data.data)) #鸢尾花花瓣长度的数据
print(petal_length) # 输出数据
print('花瓣长度的最大值',np.max(petal_length))
print('平均值:',np.mean(petal_length))
print('中值:',np.median(petal_length))
print('均方差:',np.std(petal_length))
 
#11.显示鸢尾花某一特征的曲线图,散点图。
import matplotlib.pyplot as plt
plt.plot(np.linspace(0,150,num=150),petal_len,'b')  #花瓣曲线图
plt.show()
plt.scatter(np.linspace(0,150,num=150),petal_len,marker='o')#花瓣图
plt.show()

 

posted @ 2018-12-24 09:43  姚凯雄  阅读(269)  评论(0编辑  收藏  举报