どんな本?
データサイエンスの現場で遭遇する様々なトピック(抽出・集約・結合など)を題材に、R・Python・SQLを用いた実装方法を紹介。「Not Awesome」な不適切なコードを理由とともに提示した後、「Awesome」な可読性の高く処理量の少ないコードを掲載している。
所感
実例を通じて、「Not Awesome」なコードを書いてしまっていた自分に気付ける本。
例えばPython/Pandasでの条件付き抽出に関して、インターネットで調べると以下のようなコードが多く出てくる。
Not Awesome
import pandas as pd df = pd.read_csv("data.csv") df = df[df["id"]=="hogehoge"]
しかし、このコードは下記の点などでAwesomeとは言えない。
- dfが入れ子になっていて可読性が低い
- dfの名前が変わった際には3箇所も変更する必要がある
Awesomeなコードとしては、下記のようなものが提示されている。
Awesome
df.query('id=="hogehoge"', inplace=True)
- .queryを使うことで、可読性を高めている
- inplace=Trueを与えることで、dfの回数も1回のみにしている
このような実例を通じて「動いているから良いや」で済ましていた事案を知ることができ、局所解からの脱却を促してくれる本になっている。寝られない時にザッと読み通したが分量は多いので、サラッと読んでおいて辞書的に使うのも良いかもしれない。