In [ ]:
%%bigquery
SELECT
COUNT(DISTINCT station_id) as cnt
FROM
`bigquery-public-data.new_york.citibike_stations`
同じように、WebUIから実行した各種クエリを実行してみます。
In [ ]:
%%bigquery
SELECT
COUNT(station_id) as cnt
FROM
`bigquery-public-data.new_york.citibike_stations`
WHERE
is_installed = TRUE
AND is_renting = TRUE
AND is_returning = TRUE
In [ ]:
%%bigquery
SELECT
usertype,
gender,
COUNT(gender) AS cnt
FROM
`bigquery-public-data.new_york.citibike_trips`
GROUP BY
usertype,
gender
ORDER BY
cnt DESC
In [ ]:
%%bigquery
SELECT
start_station_name,
end_station_name,
COUNT(end_station_name) AS cnt
FROM
`bigquery-public-data.new_york.citibike_trips`
GROUP BY
start_station_name,
end_station_name
ORDER BY
cnt DESC
単純にBigQueryに対してクエリを実行するだけではなく、データの簡易的な可視化などの機能も提供されます。
最も利用者が多いstart_station_name="Central Park S & 6 Ave", end_station_name="Central Park S & 6 Ave"の利用時間を調査します。 %%bigqueryコマンドに続いて変数名を渡すことで、BigQueryの結果をpandasのDataFrameとして保存することができます。
In [ ]:
%%bigquery utilization_time
SELECT
starttime, stoptime,
TIMESTAMP_DIFF(stoptime, starttime, MINUTE) as minute,
usertype, birth_year, gender
FROM
`bigquery-public-data.new_york.citibike_trips`
WHERE
start_station_name = 'Central Park S & 6 Ave' and end_station_name = 'Central Park S & 6 Ave'
In [ ]:
# utilization_timeの中身の確認
utilization_time
In [ ]:
# 必要となるライブラリのインポート及び警告が表示されないような設定
import pandas as pd
import warnings
warnings.filterwarnings('ignore')
# ヒストグラムの描画
utilization_time['minute'].hist(bins=range(0,100,2))
30分程度の利用が最も多いことが確認されました。