1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

「データサイエンス100本ノック(構造化データ加工編)」を試す準備

Last updated at Posted at 2020-07-13

あらまし

データサイエンティスト協会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

ここで右にある「緑色のCode」をクリックする。
image.png

次にDownload ZIPをクリックする。
image.png

PCのダウンロードフロルダに100knocks-preprocess-master.zipがダウンロードされる。
image.png

zipを展開すると中身は次の通り。
image.png

私が必要なのは問題が書かれたコードとデータ一式、かつ解答コードになる。

例えばJupyterNotebookのコードは下にある。
image.png

例えばデータは下にある。
image.png

MyPython(Pythonコードを入れているフォルダ)の下にフォルダごと移動する。
image.png

JupyterNotebookを起動する

image.png

フォルダを
MyPython → 100knocks-preprocess-master → docker → work と進む。
image.png

preprocess_knock_Python.ipynbをクリックして開く。
image.png

最初のInboxをクリックしてRunを実行する。

importを確認すると
image.png
psycopg2でひっかかる。

よく見るとインストールしていないライブラリがある。ここで考える。
①これらをインストールするのか(二度と使わないかもしれないのに?という疑問あり)。
②自分で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})

演習問題はそれなりに実行できる。
image.png

参考にしたサイト

データサイエンス初学者のための実践的な学習環境 「データサイエンス100本ノック(構造化データ加工編)」をGitHubに無料公開:https://digitalpr.jp/r/39499

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?