Python実践データ分析100本ノックで、実際に100本終了した感想をまとめました。
pythonでのデータ分析の入門書としてかなりの良書だったと思います。
Amazonでベストセラー入りしているのも納得です。
私の所感では、次のような人におススメでした。
- python2~3冊目に何を勉強しようか迷っている人
- 時間をかけずにデータ分析の基本を学びたい人
pandas
への抵抗を減らしたい人
今回は、実際に100本ノックした感想や、おススメの理由をお伝えしたいです!
Python実践データ分析100本ノックの概要
Amazonのデータベース処理カテゴリでベストセラーにもなっていたので、一度は名前を聞いたことはあるのではないでしょうか?
ざっくり要約すると次のような本でした:
- 現場を想定して作られた100の例題を掲載
- 各章毎に顧客からの仮想の依頼があって、例題を解くことで依頼を解決していく
pandas
を中心にデータ処理、解析の実践的使用方法を紹介
100本ノックとあるので、漢字ドリルや計算ドリルのように、無機質に100個の例題がならんでいるのかと思っていたところ…。
実は、各章毎に仮想の顧客からの依頼事項があって、例題を解くことで依頼を解決していくという構成になっていました。
例題を無心でゴリゴリ解いていくわけではなく、依頼を解決するという目的をもてるので取り組みやすいと思います。
全体の構成
次のような4部構成になっています。
- データ加工・前処理⇒
pandas
を使ってデータの前処理 - 機械学習⇒
scikit-learn
で顧客の分析や行動予測 - 最適化問題⇒経営状況改善を目指した最適化問題
- 画像認識・自然言語処理
それぞれ全体の1/4くらいの割合です。
実際にノックを進めてみると、データの加工・前処理に力を入れて解説している印象を受けました(ほぼ全章でデータの読み込みから始まります)。
データ分析は、前処理が作業全体の8割を占めるとも言われるので、実践をイメージしてデータの加工・前処理を詳しく解説しているのだと思います。
逆に画像認識や自然言語処理については、導入としては良いかもしれませんが、より詳細に学びたい方には心もとないかもしれませんね。
対象のレベル
実践と名前がついているだけあって、pythonを本当に始めたばかりの人には難しいと思います。
感覚としては、pythonの勉強をしていて2~3冊目に手に取る本といったかんじでしょうか。
pythonの基本操作や環境構築については解説がないので、次のような前提知識は必要だと思います。
- pythonの入門書や初心者向けセミナーで基本は取得済み
pandas
、numpy
、matplotlib
を少し使ったことがある- jupyter notebookが使用できる
できるようになったこと
私の感想としては、100本ノックを通してpandas
への抵抗がだいぶ軽減されたように思います。
データの前処理・加工も解説が充実していたので、今までやりたかったけど、どうして良いかわからなかった処理ができるようになりました!
例えば次のようなものです(例を挙げるときりがないので少しだけ)。
CSVデータを読み込む際にindex
行を指定:
df = pd.read_csv("input.csv", index_col=0)
# 0行目をindexにする
groupby
で小計をとる:
df = pd.DataFrame({
'name': ['apple', 'apple', 'orange', 'orange'],
'quantity': [1, 2, 3, 4]})
# name quantity
# 0 apple 1
# 1 apple 2
# 2 orange 3
# 3 orange 4
df.groupby("name").sum()
# quantity
# name
# apple 3
# orange 7
loc
で条件を満たした行だけ抽出する
df.loc[df["quantity"]>=2]
# name quantity
# 1 apple 2
# 2 orange 3
# 3 orange 4
もちろん、少し考えたり、調べたりすれば、それぞれの処理は簡単にできます。
しかし、いちいち調べていては時間がかかるんですよね。
で、結局pandas
を使わないというのが、過去の私です。
この本を読んだ一番のメリットは、たくさんの例題を通してpandas
の基本操作を体で覚えられたことでした。
だいぶpandas
への抵抗が減って、実務でも使い始めました!
所要時間
私の場合は、各章おおよそ1.5~2時間でしたので、全体で15~20時間程度です。
これでpandas
への抵抗が減ったので、費用対効果は良かったと思います。
おススメの勉強の仕方
これはこの本に限ったことではないのですが、限られた時間の中で効率よくプログラミングの勉強をするためのおススメの方法です。
- 通勤・通学時間などの隙間時間に各章をざっと読む
- PCに向かって、実際にスクリプトを書きながら学習
「ざっと読む」のと「スクリプトを書く」で、同じ章を2回学習します。
同じ章を2回も勉強して、一見効率が悪そうですが、繰り返すことで記憶の定着を促します。
また、プログラムの勉強で問題となるのは時間の確保です。
ある程度まとまった時間がないと、スクリプトは書けませんが、それを言い訳にやらないのが最悪です。
そこで、移動時間など隙間時間は内容の理解にあてて、時間をとれたらしっかりスクリプトを書きながら勉強します。
隙間時間と集中時間をうまく使い分けるのがポイントかと思います。
おわりに
今回はデータ分析の良書「Python実践データ分析100本ノック」の感想をまとめました。
まとめとしては、次のような人におススメでした。
- python2~3冊目に何を勉強しようか迷っている人
- 時間をかけずにデータ分析の基本を学びたい人
pandas
への抵抗を減らしたい人
気になった方は、Amazonのレビューもチェックしてみてください。
けっこうレビューが充実していて、購入前の参考になりました!
Twitter@YutaKaでは、ほぼ毎日pythonに関する情報を発信しています。
気楽にツイートしているので、気軽にフォローしてください!