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








浙公网安备 33010602011771号