Pandas之iris数据集简单分析

 导出iris数据集

from sklearn import datasets
import pandas as np


iris_datas = datasets.load_iris()

iris_data是一个类似字典的对象。

print(iris_datas.data) # 数据集中的数据
print(iris_datas.target_name) #  iris的种类

iris = pd.DataFrame(iris_datas.data, columns=['SpealLength', 'Spealwidth', 'PetalLength', 'PetalLength'])

iris.shape
iris.head()

(150, 4)

    SpealLength	 Spealwidth	PetalLength	PetalLength
0	    5.1	        3.5	        1.4	     0.2
1	    4.9	        3.0	        1.4	     0.2
2	    4.7	        3.2	        1.3	     0.2
3	    4.6	        3.1	        1.5	     0.2
4	    5.0	        3.6	        1.4	     0.2
描述性统计
iris.describe().T     # 描述性统计转置


花萼长度与宽度/花瓣长度与宽度的可视化,判断是否仅依据其即可判别鸢尾花品种。

from collection import Counter, defaultdict
import matplotlib
import matplotlib.pyplot as plt


matplotlib.rcParams['font.sans-serif'] = ['SimHei']

style_list = ['o', '^', 's']       # 设置点的不同形状,不同形状默认颜色不同,也可自定义
data = iris_datas.data
labels = iris_datas.target_names
cc = defaultdict(list)

for i, d in enumerate(data):
    cc[labels[int(i/50)]].append(d)

p_list = []
c_list = []

for each in [0, 2]:
    for i, (c, ds) in enumerate(cc.items()):
        draw_data = np.array(ds)
        p = plt.plot(draw_data[:, each], draw_data[:, each+1], style_list[i])
        p_list.append(p)
        c_list.append(c)

    plt.legend(map(lambda x: x[0], p_list), c_list)
    plt.title('鸢尾花花瓣的长度和宽度') if each else plt.title('鸢尾花花萼的长度和宽度')
    plt.xlabel('花瓣的长度(cm)') if each else plt.xlabel('花萼的长度(cm)')
    plt.ylabel('花瓣的宽度(cm)') if each else plt.ylabel('花萼的宽度(cm)')
    plt.show()

猜你喜欢

转载自blog.csdn.net/mr_blued/article/details/81153044