【Python】Colaboratoryでデータサイエンス100本ノックを実践
データ分析の練習コンテンツとして、「データサイエンス100本ノック(構造化データ加工編)」が一般社団法人データサイエンティスト協会から公開されています。
手軽に始めて見たい方向けにColaboratoryで動かす方法を記載していきます。
データサイエンス100本ノックのデータを準備する
まずは、対象のデータをダウンロードしましょう。
Calabratoryのノートブックを新規で開く
データをGoogleDriveにダウンロードする
下記コードをそのままコピペして実行してください。
from google.colab import drive
drive.mount('/content/drive')
!git clone https://github.com/The-Japan-DataScientist-Society/100knocks-preprocess.git 'drive/My Drive/100knocks-preprocess'
以下のように実行結果が表示されると思いますので、「Go to this URL in a browser: URL」をクリックし、Google認証をしてください。

認証後、コードが表示されますのでコピーし、「Enter your authorization code:」の入力欄に貼り付けてください。

その後、自分のGoogle Driveを確認し、「100knocks-preprocess」のフォルダが作成されていればOKです。
ダウンロードしたファイルを確認する
マイドライブからnotebookを開く
GoogleDriveの「マイドライブ > 100knocks-preprocess > docker > work」の「preprocess_knock_Python.ipynb」を開いてみましょう。

動作を確認する
そのまま最初のソースを実行してもデータがないためエラーになります。
ダウンロードしたGoogleDriveのデータを取得するために下記コードを追加して実行し、Google認証を実施してください。
GoogleDriveと接続する
from google.colab import drive
drive.mount('/content/drive')
実行後、エラーなく左のフォルダマークからGoogleDriveデータが確認できたらOKです。

利用データ(csv)を読み込む
ライブラリ実行と一緒に、データを読み込むために下記コードを実行しましょう。
def get_df(filename):
path = 'drive/My Drive/100knocks-preprocess/docker/work/data'
return pd.read_csv(os.path.join(path, filename))
df_customer = get_df('customer.csv')
df_category = get_df('category.csv')
df_geocode = get_df('geocode.csv')
df_product = get_df('product.csv')
df_receipt = get_df('receipt.csv')
df_store = get_df('store.csv')
以上で準備完了です!!
練習問題を実行する
準備が整いましたので、どんどん練習問題を解いていきましょう。
わからない問題があった際には答えがanswerフォルダに入っているので確認してみるといいと思います。
マイドライブ > 100knocks-preprocess > docker > work > answer
「ans_preprocess_knock_Python.ipynb」
まとめ
本記事では、Google Colaboratoryを使ったデータサイエンス100本ノックの実践方法についてまとめてみました。100本ノックを実践することで、実際にPythonで何ができるのかを演習を用いて学ぶことができるのでPythonでの実践経験を積むことができると思います。とりあえず何すればいいかわからない人は、演習をこなしていくのもありだと思いますよ!