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()