データサイエンス100本ノックをColaboratoryでやりたい
データ分析の練習コンテンツ「データサイエンス100本ノック(構造化データ加工編)」がデータサイエンティスト協会から公開されました。
動かすにはDockerの操作が必要なので、手軽に始めて見たい方向けにColaboratoryで動かす方法を残しておきます。
1.データをダウンロードする
まずは適当なノートブックを作成してColaboratoryを開きましょう。
開いたら以下のコマンドを実行して、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'
ドライブのマウントを初めて実行する方は、実行したセルの下に以下の表示が現れます。URLをクリックしてGoogleColaboratoryのDriveに対するアクセスを許可しましょう。
最後に「このコードをコピーし、アプリケーションに切り替えて貼り付けてください。」と表示されるので、コピーしたコードを上記の「Enter your authorization code:」欄に貼り付けて実行しましょう。
マイドライブに戻ると「100knocks-preprocess」というフォルダが確認できると思います。
うまくいったら、このnotebookはもう使いません。
2.マイドライブからJupyter Notebookを開く
notebookファイルは以下のディレクトリに格納されています。
preprocess_knock_Python.ipynb をGoogleColabratoryで開いてみましょう。
3.動かしてみる
最初のセルをそのまま実行するとエラーになるので、ライブラリのインポートだけを実行したら以下のコードでデータを読み込みましょう
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')
ちなみに、以下のフォルダ配下にこのコンテンツの狙いなどを説明したpdfファイルがあるので、取り組む前に読んでみると良さそうですね。
100knocks-preprocess/docker/dock
これで準備は完了です
時間を空けて実行するとDriveとの接続が切れてしまう事があるかもしれません。(ないかも...)その場合は再度以下のコードを実行するか、サイドバーからドライブをマウントして改めてデータを読み込みましょう。
from google.colab import drive
drive.mount('/content/drive')
以上
この記事を書いておいてなんですが、Dockerでの環境構築もそんなに難しくないですし、できると役立つことも多いので、これを機会にチャレンジするのもいいと思います。Macでの構築方法はこちらの記事が良さそうです。環境が作れればSQLの練習もできますしね!
Author And Source
この問題について(データサイエンス100本ノックをColaboratoryでやりたい), 我々は、より多くの情報をここで見つけました https://qiita.com/HiroyukiTachikawa/items/53d4cf8bf033734f316c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .