Pandas之iris資料集簡單分析
阿新 • • 發佈:2019-01-07
匯出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()