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


浙公网安备 33010602011771号