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()
![](https://img2018.cnblogs.com/blog/1479598/201811/1479598-20181105091311102-91840632.png)