YutaKaのPython教室

Python の文法やライブラリ、API、環境構築について画像・動画・ソースコード付きで徹底解説!

【レビュー】「Python実践データ分析100本ノック」|100本終えたらpandasが好きになっていた

Python実践データ分析100本ノックで、実際に100本終了した感想をまとめました。

pythonでのデータ分析の入門書としてかなりの良書だったと思います。

Amazonでベストセラー入りしているのも納得です。

私の所感では、次のような人におススメでした。

  • python2~3冊目に何を勉強しようか迷っている人
  • 時間をかけずにデータ分析の基本を学びたい人
  • pandasへの抵抗を減らしたい人

今回は、実際に100本ノックした感想や、おススメの理由をお伝えしたいです!

Python実践データ分析100本ノック

Python実践データ分析100本ノック

 

 

Python実践データ分析100本ノックの概要

Amazonのデータベース処理カテゴリでベストセラーにもなっていたので、一度は名前を聞いたことはあるのではないでしょうか?

ざっくり要約すると次のような本でした:

  • 現場を想定して作られた100の例題を掲載
  • 各章毎に顧客からの仮想の依頼があって、例題を解くことで依頼を解決していく
  • pandasを中心にデータ処理、解析の実践的使用方法を紹介

100本ノックとあるので、漢字ドリルや計算ドリルのように、無機質に100個の例題がならんでいるのかと思っていたところ…。

実は、各章毎に仮想の顧客からの依頼事項があって、例題を解くことで依頼を解決していくという構成になっていました。

例題を無心でゴリゴリ解いていくわけではなく、依頼を解決するという目的をもてるので取り組みやすいと思います。

全体の構成

次のような4部構成になっています。

  • データ加工・前処理⇒pandasを使ってデータの前処理
  • 機械学習⇒scikit-learnで顧客の分析や行動予測
  • 最適化問題⇒経営状況改善を目指した最適化問題
  • 画像認識・自然言語処理

それぞれ全体の1/4くらいの割合です。

実際にノックを進めてみると、データの加工・前処理に力を入れて解説している印象を受けました(ほぼ全章でデータの読み込みから始まります)。

データ分析は、前処理が作業全体の8割を占めるとも言われるので、実践をイメージしてデータの加工・前処理を詳しく解説しているのだと思います。

逆に画像認識や自然言語処理については、導入としては良いかもしれませんが、より詳細に学びたい方には心もとないかもしれませんね。

Python実践データ分析100本ノック

Python実践データ分析100本ノック

 

対象のレベル

実践と名前がついているだけあって、pythonを本当に始めたばかりの人には難しいと思います。

感覚としては、pythonの勉強をしていて2~3冊目に手に取る本といったかんじでしょうか。

pythonの基本操作や環境構築については解説がないので、次のような前提知識は必要だと思います。

  • pythonの入門書や初心者向けセミナーで基本は取得済み
  • pandasnumpymatplotlibを少し使ったことがある
  • 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への抵抗が減って、実務でも使い始めました!

Python実践データ分析100本ノック

Python実践データ分析100本ノック

 

所要時間

私の場合は、各章おおよそ1.5~2時間でしたので、全体で15~20時間程度です。

これでpandasへの抵抗が減ったので、費用対効果は良かったと思います。

おススメの勉強の仕方

これはこの本に限ったことではないのですが、限られた時間の中で効率よくプログラミングの勉強をするためのおススメの方法です。

  • 通勤・通学時間などの隙間時間に各章をざっと読む
  • PCに向かって、実際にスクリプトを書きながら学習

「ざっと読む」のと「スクリプトを書く」で、同じ章を2回学習します。

同じ章を2回も勉強して、一見効率が悪そうですが、繰り返すことで記憶の定着を促します。

また、プログラムの勉強で問題となるのは時間の確保です。

ある程度まとまった時間がないと、スクリプトは書けませんが、それを言い訳にやらないのが最悪です。

そこで、移動時間など隙間時間は内容の理解にあてて、時間をとれたらしっかりスクリプトを書きながら勉強します。

隙間時間と集中時間をうまく使い分けるのがポイントかと思います。

Python実践データ分析100本ノック

Python実践データ分析100本ノック

 

おわりに

今回はデータ分析の良書「Python実践データ分析100本ノック」の感想をまとめました。

まとめとしては、次のような人におススメでした。

  • python2~3冊目に何を勉強しようか迷っている人
  • 時間をかけずにデータ分析の基本を学びたい人
  • pandasへの抵抗を減らしたい人

気になった方は、Amazonのレビューもチェックしてみてください。

けっこうレビューが充実していて、購入前の参考になりました!

Python実践データ分析100本ノック

Python実践データ分析100本ノック

 

Twitter@YutaKaでは、ほぼ毎日pythonに関する情報を発信しています。

気楽にツイートしているので、気軽にフォローしてください!