在資料分析以方面,我們常常使用Python配合Jupyter Notebook的環境在電腦上執行代碼,
但在GCP上,我們也做得到!
開啟Qwikilab,開始實作~(需要有訂閱課程才可以用Qwikilab)
首先點Start Lab開始倒數計時~,需要開始倒數計時才能開始實作~(也就是說有時間限制~)
可以看到開始倒數計時囉,接下來案開啟控制台,並輸入Qwikilab暫時創建的Google帳號及密碼,
就可以進入GCP頁面了!
好的!我們今天的主題是,創建一個IPython環境,並使用BigQuery(使用SQL語法)來分析資料!
在側欄找到AI Platform並點擊Notebook!
再來進到Notebook頁面後,我們就可以輕鬆地建立一個IPYthon環境啦!
選擇New Instance ,並選擇有TensorFlow版本的Notebook
按下Create等他跑完,我們就成功地在GCP上創建了一個IPython環境!
那麼等他慢慢跑的同時我們先去BigQuery玩一下我們的資料!
在側欄找到BigQuery點進去進入BigQuery頁面
進到BigQuery後,我們使用標準SQL語法,來從公共資料課裡擷取航班延誤的資訊!
SELECT
departure_delay,
COUNT(1) AS num_flights,
APPROX_QUANTILES(arrival_delay, 5) AS arrival_delay_quantiles
FROM
`bigquery-samples.airline_ontime_data.flights`
GROUP BY
departure_delay
HAVING
num_flights > 100
ORDER BY
departure_delay ASC
(這裡選取到的資料是出發延誤的航班然後根據他們抵達的延誤時間來分成10組)
點擊RUN
好的我們在BigQuery完成了資料的選取~再來,我們利用剛剛創建的IPython環境來視覺化資料。
BigQuery的Result請看下圖
回到剛剛的NoteBook創建頁面,點擊OPEN JUPYTER LAB 開啟IPython環境。
進去之後開啟一個Notebook,第一個Cell來導入我們剛剛在BigQuery選取的資料!
query="""
SELECT
departure_delay,
COUNT(1) AS num_flights,
APPROX_QUANTILES(arrival_delay, 10) AS arrival_delay_deciles
FROM
`bigquery-samples.airline_ontime_data.flights`
GROUP BY
departure_delay
HAVING
num_flights > 100
ORDER BY
departure_delay ASC
"""
from google.cloud import bigquery
df = bigquery.Client().query(query).to_dataframe()
df.head()
打上之後執行...
看到輸出完美!再來導入Pandas來處理一下資料!(把資料10%10%分組~)
import pandas as pd
percentiles = df['arrival_delay_deciles'].apply(pd.Series)
percentiles = percentiles.rename(columns = lambda x : str(x*10) + "%")
df = pd.concat([df['departure_delay'], percentiles], axis=1)
df.head()
再來就是重頭戲啦!把他PLOT出來!
without_extremes = df.drop(['0%', '100%'], 1)
without_extremes.plot(x='departure_delay', xlim=(-30,50), ylim=(-50,50));
登登!完成Lab!
記得要先END LAB讓Qwikilab評分再把GCP頁面關掉喔~