iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 3
0
自我挑戰組

Machine Learning 學習筆記系列 第 3

[第三天] Pandas 練習

  • 分享至 

  • xImage
  •  

鳶尾花資料集

昨天導入鳶尾花資料集,今天就再詳細的了解一下這個資料的描述吧。當然這個資料集是dict格式(可以花時間了解一下字典格式)

from sklearn import datasets
iris = datasets.load_iris()
for key,value in iris.items() :
    try:
        print (key,value.shape)
    except:
        print (key)
print (iris['feature_names']) #鳶尾花的特徵
print (iris['DESCR'])  #英翻中當然就是檔案描述囉

https://ithelp.ithome.com.tw/upload/images/20181017/20112303bRYujTTRox.png
簡單的說這筆資料是從1936年由Fisher建立,分別用花瓣的四種特徵(sepal length,sepal width,petal length,petal width)來分類三種鳶尾花(Setosa, Versicolor, Virginica)總用150筆(target)資料。

https://ithelp.ithome.com.tw/upload/images/20181017/20112303I4CualrU5X.png
https://ithelp.ithome.com.tw/upload/images/20181017/20112303AsQYKH3t1d.png

Pandas 淺介

參考網站

先熟悉一下pandas幾個常用的功能~

首先先把資料轉成Dataframe格式,以後幾乎所有資料都會轉成這種很像excel格式

import pandas as pd
iris_df = pd.DataFrame(iris.data, columns=iris.feature_names) # 轉換為 data frame
iris_df.loc[:, "species_label"] = iris.target # 將品種代號加入 data frame
iris_df.head() # 觀察前五個觀測值

https://ithelp.ithome.com.tw/upload/images/20181017/20112303ZGG8wIxxVz.png

嘗試把品種名稱再加進去,所以先設計一個品種與其對應數字代號的dataframe,再用Merge功能結合起來所以我們有了文字與數字型態共存的dataframe~

species_data = {
        'species_label': [ 0 , 1 , 2 ],    
        'species': ['Setosa', 'Versicolor', 'Virginica'] 
        }  #設計一個品種對應編號的Dataframe
df_z = pd.DataFrame(species_data, columns = ['species_label', 'species'])

iris_df=pd.merge(iris_df, df_z, on='species_label')  #根據編號來merge
iris_df.head() # 觀察前五個觀測值

https://ithelp.ithome.com.tw/upload/images/20181017/201123036qC7orWwCc.png

假設只想觀察Virginica的資料

Virginica= iris_df[iris_df['species'] == 'Virginica']
Virginica.head()

https://ithelp.ithome.com.tw/upload/images/20181017/20112303nZbOXjqF8j.png

或是只想看花萼長度大於5cm的Virginica

Virginica=Virginica[Virginica['sepal length (cm)'] > 5]  #花萼長度>5cm
Virginica.head()

https://ithelp.ithome.com.tw/upload/images/20181017/20112303XDEfb3ezWO.png

然後再對花萼長度由小到大排列

Virginica=Virginica.sort_values(by=['sepal length (cm)'])
Virginica.head()

https://ithelp.ithome.com.tw/upload/images/20181017/20112303fdO5L5lWCH.png

今天稍微摸索一下資料處理常用的幾個指令,其他功能在官網以後需要再來查,明天要開使學一些資料視覺化的套件囉~~

/images/emoticon/emoticon29.gif


上一篇
[第二天] 資料分析神兵利器 Python & Scikit-learn & Anaconda
下一篇
[第四天] 資料視覺化 Data Visualization
系列文
Machine Learning 學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言