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包
 2 import numpy as np
 3 from sklearn.datasets import load_iris
 4 
 5 #sklearn包读取鸢尾花data
 6 data = load_iris()
 7 
 8 #查看data数据类型
 9 print('data_type',type(data))
10 print('data_key',data.keys())#列名
11 
12 #取出鸢尾花特征和类别数据
13 data_feature = data.feature_names
14 iris_data = data.data
15 print('鸢尾花的特征:',data_feature,iris_data)
16 data_target = data.target_names
17 print('鸢尾花类别:',data_target)
18 iris_data = data.target
19 print('数据类型:',type(iris_data))
20 
21 #取出所有话的花萼长度数据
22 sepal_length = np.array([length[0] for length in data['data']])
23 print('所有花萼的长度是:',sepal_length)
24 
25 #取出所有花的花瓣长度和宽度
26 for item in data:
27     petal_len = np.array([length[2] for length in data.data])#花瓣长度
28     petal_wid = np.array([length[3] for length in data.data])#花萼宽度
29 
30 iris_len = (petal_len,petal_wid)
31 print(iris_len)
32 
33 #取出花的四个特征和类别
34 print(data.data[1],data.target[1])
35 
36 #所有花的特征和类别分成三组
37 iris_set = []
38 iris_ver = []
39 iris_vir = []
40 
41 #遍历所有数据
42 for i in range(0,150):
43     if data.target[i] == 0:
44         Data = data.data[i].tolist()
45         Data.append('setosa')
46         iris_vir.append(Data)
47 print(iris_set,iris_ver,iris_vir)
48 
49 #生成新的数组,每个元素包含四个特征
50 iris_result = np.array([iris_set,iris_ver,iris_vir])
51 print('分组:',iris_result)
52 
53 #计算鸢尾花花瓣长度的最大值,平均值,中值,均方差
54 petal_length = np.array([length[3] for length in data.data])
55 print(petal_length)
56 print('花瓣长度的最大值',np.mean(petal_length))
57 print('平均值:',np.mean(petal_length))
58 print('中值:',np.median(petal_length))
59 print('均方差:',np.std(petal_length))
60 
61 #画曲线图和散点图
62 import matplotlib.pyplot as plt
63 plt.plot(np.linspace(0,150,num=150),petal_len,marker = "o")
64 plt.show()
65 plt.scatter(np.linspace(0,150,num=150),petal_len,marker="o")
66 plt.show()

 

posted @ 2018-11-07 09:44  dafeifeifei  阅读(171)  评论(0编辑  收藏  举报