あらまし
データサイエンティスト協会https://www.datascientist.or.jp/が「データサイエンス100本ノック(構造化データ加工編)」を公開している。Windows 10 Home Edition、Anaconda(2020.02)インストール済のPCで、Dockerをインストールせずに、Jupyter NotebookのPython版を試すための作業を記録する。
「データサイエンス100本ノック(構造化データ加工編)」とは
下で紹介されているデータ付きの問題集(言語は3通り、解答付き)になる。
https://digitalpr.jp/r/39499
Dockerがあるが
私の環境
・PCはWindows 10 Home。DockerToolboxで対応はされているが。
・メモリは8GB。
・Anacondaをインストール完了しているのでPythonとJupyter Notebookは動作する。
まずは、Dockerをインストールしないとどうなるのか試してみようと考えた。
GitHubからZipファイルをダウンロードする
プロジェクトのトップページに行く。例えば今回の「データサイエンス100本ノック」のトップページは下になる。
https://github.com/The-Japan-DataScientist-Society/100knocks-preprocess
PCのダウンロードフロルダに100knocks-preprocess-master.zipがダウンロードされる。
私が必要なのは問題が書かれたコードとデータ一式、かつ解答コードになる。
MyPython(Pythonコードを入れているフォルダ)の下にフォルダごと移動する。
JupyterNotebookを起動する
フォルダを
MyPython → 100knocks-preprocess-master → docker → work と進む。
preprocess_knock_Python.ipynbをクリックして開く。
最初のInboxをクリックしてRunを実行する。
よく見るとインストールしていないライブラリがある。ここで考える。
①これらをインストールするのか(二度と使わないかもしれないのに?という疑問あり)。
②自分でdataframeを定義するのか(csvのデータから操作できないと後々自分が困るよね、という気持ちあり)。
dataframeを自分で定義することにした。
importはそのまま流用(インストールしていないライブラリはひとまず除いた)、geocode.csvは空白になっているデータがあるので型を定義した。
import os
import pandas as pd
import numpy as np
from datetime import datetime, date
from dateutil.relativedelta import relativedelta
import math
from sklearn import preprocessing
from sklearn.model_selection import train_test_split
df_customer = pd.read_csv('data/customer.csv')
df_category = pd.read_csv('data/category.csv')
df_product = pd.read_csv('data/product.csv')
df_receipt = pd.read_csv('data/receipt.csv')
df_store = pd.read_csv('data/store.csv')
df_geocode = pd.read_csv('data/geocode.csv',\
converters={'prefecture':str,'city':str,'town':str,'street':str,'address':str})
参考にしたサイト
データサイエンス初学者のための実践的な学習環境 「データサイエンス100本ノック(構造化データ加工編)」をGitHubに無料公開:https://digitalpr.jp/r/39499