[數據分析#55] Google Colab:以 Python 3 分鐘完成資料匯入及分析 (含範例檔案)

這是數據分析 Python 系列的第一篇!也是這個網站的全新單元,接下來,我會以文組腦來講解學習 Python 數據分析的捷徑,希望可以幫助到更多對程式 (coding) 有點害怕的大家!

為什麼數據分析師要學 Python?

  • Python 的作用很多:可以自動化、可以爬蟲、可以做數據分析;本質上,Python 是一個代替我們操作電腦運算的工具
  • Python 對於數據分析來說有幾個很核心的功能:
    • 數據工程:將後端資料串接到資料庫中,大部分都是用 Python 處理
    • 數據分析:除了試算表 (Excel、Google Sheet) 外、SQL (查詢資料庫的語言) 外,Python 絕對是進階數據分析的必備工具
    • 資料科學:模型、演算法都一定會使用到 Python
  • 雖然說 Python 很重要,但是以一個文組腦出生的我來說,我會建議優先學試算表跟 SQL,因為這兩個是資料的基本架構跟處理方法,如果連基本處理都還沒學好,就去學 Python,很容易學不會甚至是放棄
  • 因此,建議大家「初學時」不用一開始就一股腦的學 Python,這不是最佳的學習途徑

Google Colab 是什麼?跟 Python 有什麼關係?

  • Google 開發:Google Colab 是由 Google Research 開發出來的一套產品
  • 只要有 Gmail 帳號就可以輕易開始探索 Python 語言:用 Google Drive 就可以開啟 Google Colab
  • Google Colab 是一個建立在 Jupyter Notebook 之上的免費虛擬主機
  • 開啟一個 Google Colab 的「記事本」之後,就可以開始打程式,而所有程式碼的變動也會儲存在 Google 雲端,再次回來之後,還是可以繼續跑資料

為什麼我推薦初學 Python 用 Google Colab?

我曾經學過 Python 3 次,前 2 次都沒有學成 (沒有應用就放棄),我總結了 2 個主要放棄的原因:

  1. 開啟 Python 編輯器太麻煩:即使是使用大部分人推薦的 jupyter notebook (安裝跟開啟已經很簡單了),但仍然有一點門檻在,久了忘記怎麼開之後,就沒繼續用了
  2. 學習的內容跟自己的工作流程或工作內容沒關係:如果學習的內容無法應用在自己的生活中,基本上過了一個月後,就會忘記,即使記得,通常只要出現一點變化場景,可能就不會解了 (對自己不熟悉的領域,這種狀況非常正常)

所以我的結論會是:

  1. 用門檻最低的方式,開啟 Python 語言記事本:目前我看到最簡單的就是 Google Colab
  2. 把平常的工作流程跟內容,學著用 Python 完成

如何把開始使用 Google Colab?3 步驟教學

  1. 步驟一:開啟 Google Colab
  2. 步驟二:「檔案」 → 「新增記事本」
  3. 步驟三:可以開始打 Python 的程式碼了!而且所有內容都會被儲存在你的 Google Drive 內
  4. 提醒:如果需要重新開啟這個記事本,可以從 Google Drive 開啟,或是記住網址,以網址開啟這個記事本!

如何把資料匯入?試算表或是 Excel 都可以

Python 基本注意事項

  • 今天會用到的 Python 模組主要為:pandas,可以把模組想像成一座圖書館,裡面有很多前輩把書寫好了,只要引用書裡面的資訊,就可以完成很多我們想完成的行動
  • 「#」這個符號是註解的意思,加上這個符號之後,這一段程式碼會變成筆記形式,不會運行

以 Google Sheet 為資料來源

  1. 步驟一:匯入套件並且執行 Google 帳號驗證
  2. 步驟二:讀取 Google Sheet 試算表內的資料
  3. 步驟三:將 Google Sheet 內資料轉變成 Python 內的 DataFrame (表格) 形式
# 步驟一:匯入套件並且執行 Google 帳號驗證

# 查看gspread版本
# ref: <https://cyublog.com/articles/python-zh/colab-tutorial-google-spreadsheet/>

import gspread
print(gspread.__version__)

# 執行驗證

from google.colab import auth
auth.authenticate_user()

import gspread
from google.auth import default
creds, _ = default()

gc = gspread.authorize(creds)
# 步驟二:讀取 Google Sheet 試算表內的資料

# 讀取 google sheet

workbook = gc.open_by_key('1xbOGq5bd-AcEbxPXb8ZLh1CNjCxZLHMiZgANdMUEvnw')

# 讀取特定的 tab
sheet = workbook.worksheet('order_tab')
  • 注意事項:放上 Google Sheet 連結的最後一串識別碼,在 d/ 後面,/edit 前面的那一段碼
# 步驟三:將 Google Sheet 內資料轉變成 Python 內的 DataFrame (表格) 形式

# pandas: 將表格轉換成dataframe來處理

import pandas as pd
values = sheet.get_all_values()
df = pd.DataFrame(values[1:], columns=values[0])

# 處理一下 data type (不一定需要)

df["shipping_fee_usd"] = df['shipping_fee_usd'].astype("float")
df.info()

以 Excel (.csv) 為資料來源

  1. 步驟一:將 Excel 儲存成 UTF-8編碼 及 csv 的檔案
    1. 教學文件可以參考這裡
  2. 步驟二:上傳 csv 檔案
  3. 步驟三:讀取上傳的檔案
# 步驟二:上傳 csv 檔案

from google.colab import files

# 上傳csv檔案
uploaded = files.upload()
# 步驟三:讀取檔案
# 參考:<http://icekuo.blogspot.com/2020/10/python-google-colabexcelcsv.html>

import io
import pandas as pd
df_excel = pd.read_csv(io.BytesIO(uploaded['order_tab.csv']))
df_excel

Python 數據分析基礎:算術統計

  1. 用 Pandas 裡的 describe 計算「數值 (可被運算)」欄位的算術平均
# Python 數據分析基礎:算術統計

result = df.describe()
result

結論:學 Python 先學著用 Google Colab

  • 門檻最低的工具:我推薦 Google Colab
  • 先學會開啟他,接著把資料匯進去,接著做基本的算數平均計算:像是平均、最大、最小等等的運算
  • 分享一下範例檔案

【1 對 1 免費諮詢】數據分析師 0~1 培訓班陪你一路到轉職成功!

hi 我是 Lisa

你也是 0 經驗、沒有相關背景,但也想要轉職數據分析師,或運用數據分析,提升在領域的專業度嗎?

-

你是否也覺得,數據分析的網路學習資源很多,但是多到不知道從哪裡開始?

學了很多工具,但學完了,問題才真正開始,不知道業界怎麼使用?又該如何面臨工作跟面試?

-

我在 2019 年從營運專員的職位轉職到數據分析師

在這之後,因為數據分析,也讓我快速建構不同領域的知識:行銷、營運、商業策略、產品、網頁

轉職過程中,花了很多時間成本摸索

我發現,學數據分析最快的方式是:

  1. 確認自己跟市場需求之間的差距:訂定轉職策略及了解數據分析師的工作方式
  2. 以業界應用的角度學習工具:包括數據工具及分析用思維架構,並且如何高效運用
  3. 建立一個商業上的真實專案,並且得到回饋:打造屬於你及貼合職缺需求的作品集和專案
  4. 打造一個高效履歷跟面談:透過高價值包裝術拿下面試、成功獲得數據行業的門票

當初如果我有這套系統思維,應該可以在短時間內轉職,馬上拿到進入業界的門票

-

現在,我想把這套完整課程分享給你

這是專門為了 0 經驗、沒有相關背景的轉職者所設計

不需要去考研究所、不需要花大錢準備出國讀書

可以用最快的時間準備轉職、拿到門票!

-

如果你正在準備轉職數據分析師,且試圖找過解決辦法卻始終治標不治本!歡迎跟我預約免費 1 對 1 諮詢,我會在諮詢時,了解你的需求並且評估我是否可以協助到你!

電子書 職場人必學的數據分析術

Lisa Wu

Hi 大家好!我是喜歡探索身心靈健康及平衡的數據分析師 Lisa Wu!這個網站會幫助你:利用數據分析 (理性) 及 身心靈平衡 (感性) 的系統,去達成人生目標!如果你對我的人生系統工具有興趣,歡迎聯繫我:couplehonest@gmail.com

This Post Has One Comment

Comments are closed.