numpy数据集练习
1. 安装scipy,numpy,sklearn包
2. 从sklearn包自带的数据集中读出鸢尾花数据集data
import numpy as np from sklearn.datasets import load_iris data = load_iris()
print(data)
3.查看data类型,包含哪些数据
print("数据类型:",type(data)) print("数据类目:",data.keys())
4.取出鸢尾花特征和鸢尾花类别数据,查看其形状及数据类型
iris_feature = data.feature_names,data.data print("鸢尾花特征:",iris_feature) print("iris_feature数据类型",type(iris_feature)) iris_target = data.target print("鸢尾花数据类别:",iris_target) print("iris_target数据类型:",type(iris_target))
5.取出所有花的花萼长度(cm)的数据
sepal_len = np.array(list(len[0] for len in data.data)) print("花萼长度:",sepal_len)
6.取出所有花的花瓣长度(cm)+花瓣宽度(cm)的数据
pental_len = np.array(list(len[2] for len in data.data)) pental_len.resize(2,50) #重新分配花瓣长度内存 pental_wid = np.array(list(len[3] for len in data.data)) pental_wid.resize(2,50) #重新分配花瓣宽度内存 iris_lens = (pental_len,pental_wid) print("花瓣长宽:",iris_lens)
7.取出某朵花的四个特征及其类别。
print("特征:",data.data[1]) print("类别:",data.target[1])
8.将所有花的特征和类别分成三组,每组50个
#建立3个相应列表存放数据 iris_set = [] iris_ver = [] iris_vir = [] for i in range(0,150): if data.target[i] == 0: Data = data.data[i].tolist() Data.append('setosa') iris_set.append(Data) elif data.target[i] ==1: Data = data.data[i].tolist() Data.append('versicolor') iris_ver.append(Data) else: Data = data.data[i].tolist() Data.append('virginica') iris_vir.append(Data)
9.生成新的数组,每个元素包含四个特征+类别
datas = (iris_set,iris_ver,iris_vir) print("新数组:",datas)
10.计算鸢尾花花瓣长度的最大值,平均值,中值,均方差。
data_len=np.array(list(len[2] for len in iris['data'])) print(data_len) print(np.max(data_len)) print(np.mean(data_len)) print(np.median(data_len)) print(np.std(data_len))
11.显示鸢尾花某一特征的曲线图,散点图。
import numpy as np
import matplotlib.pyplot as plt
datas = np.array(list(len[2] for len in iris['data']))
plt.plot(np.linspace(0,150,num=150),datas,'b')
plt.show()
plt.scatter(np.linspace(0,150,num=150),datas,marker='o')
plt.show()