iT邦幫忙

2022 iThome 鐵人賽

DAY 23
0
AI & Data

學習筆記: 以Python和資料視覺化工具完成簡易資料視覺化(Data Visualization)系列 第 23

Day 23:「骯髒資料」與匯入「骯髒資料」至DataFrame:以Python的Pandas來處理

  • 分享至 

  • xImage
  •  

       在筆者Day 3的資料視覺化筆記中,提到「大多數我們見到的資料是雜亂不堪、未經整理過的」。因此,我們需要將資料「清洗、整理乾淨」,才可以繼續完成資料視覺化的工作。而這些待我們清洗的資料,稱之為「骯髒資料」(dirty data)。

       根據techopedia和Kyran Dale所著之《資料視覺化:使用Python與JavaScript》的定義,所謂「骯髒資料」有以下幾個特徵:

  1. 有誤導性數據,或缺少某項欄位
  2. 有重複的數據,或欄位混雜不清
  3. 未有通用的格式、書寫項目不清、混雜各式資料

筆者發現,第三點在中文世界的資料中很常出現。因我們習慣使用的數字,包含中文數字大寫(零、壹、貳、參、肆、伍…等)或是「一、二、三…等」,以及阿拉伯數字(1, 2, 3, 4, 5…),而這些不同寫法的數字,常會混雜在檔案中。用人眼辨識是可以看得懂的,但電腦的判定上便不一定。而在外文世界上的資料上,也常出現「缺少某個欄位」的狀況。例如,我們至Kaggle網站上,輸入「Dirty/unclean datasets」,將會出現一個網址: MOVIES DATASET FOR FEATURE EXTRACION ,PREDICTION (https://www.kaggle.com/code/kyraellies/practice-on-movies-dataset) 。我們從畫面右上角的地方,點擊 「Download」後,會下載一個csv壓縮檔。開啟檔案後,會出現以下畫面(見圖一)

https://ithelp.ithome.com.tw/upload/images/20221008/20151873S7OllVnP1t.png
圖一: Kaggle網站上的「骯髒資料」。

在這個csv檔中,我們可以看到「Gross」的地方有多處空白;不僅如此,這個檔案還混雜了一些符號,例如在「B16」處出現了問號的符號。(見圖二)
https://ithelp.ithome.com.tw/upload/images/20221008/20151873EqUvg6QLRI.png
圖二: MOVIES DATASET FOR FEATURE EXTRACION ,PREDICTION檔案中的「骯髒狀況」

我們也可以把資料匯入Jupyter中,以DataFrame來檢查資料。首先,先將從Kaggle下載的csv檔(檔名: movies.csv)上傳至Jupyter的Home Page中。上傳成功後,會看到首頁的「Files」裡出現「movies.csv」的檔案。之後我們在Jupyter右上角的地方,開啟新的Notebook(以Python 3執行)。接下來,我們要以Pandas來檢閱資料。

首先,不忘以下起手式:

import pandas as pd
import numpy as np

接下來,建立自己想要輸出的名稱。這邊筆者以 “movies”來命名。接下來是將資料放入DataFrame中:

movies = pd.read_csv('movies.csv')
movies.head()

若看到DataFrame出現後,表示載入成功: (見圖三)
https://ithelp.ithome.com.tw/upload/images/20221008/20151873464LQmmoW0.png

圖三: 應用Pandas將檔名「movies.csv」載入DataFrame。

從表上可以看出,「Gross」的地方呈現「NaN」、「STARS」的地方有很多標示「\n」的符號,這便是輸入者在key資料的時候,按下換行鍵的緣故。而這些是在原本csv檔中無法看到的。因此如果下次收到資料,並要判斷要不要清洗之前,除了用人眼辨別外,也可以使用Pandas來處理。

【備註】此篇學習筆記參考了以下兩本書籍,作為輔助:
1.Kyran Dale著,林季岩譯,《資料視覺化:使用Python與JavaScript》,台北: 碁峰資訊,2017年。
2. techopedia, “What Does Dirty Data Mean?”, https://www.techopedia.com/definition/1194/dirty-data


上一篇
Day 22: 使用Power BI建立簡易儀表板(下): 完成儀表板
下一篇
Day 24:使用Tableau : Tableau Public(介紹篇)
系列文
學習筆記: 以Python和資料視覺化工具完成簡易資料視覺化(Data Visualization)30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言