独学でのpythonデータ分析勉強に役立ったおススメ書籍を紹介していきます。
業務でそれなりにデータ分析を行えるまで、いろいろな試行錯誤をしてきましたが、もし自分が今ゼロから勉強する立場ならどうするのがいいのか考えてみました。
次のような流れで勉強していくのが、一番着実で効率的なのだと思います。
- 基本モジュールを網羅的に勉強 ⇒ データ分析に必要な知識の全体像を得る
- 各モジュールの詳細を体得 ⇒ 使用に耐えるレベルまで各モジュール知識のレベルアップ
- 実例や問題を解く ⇒ ここまで学んだ基礎知識、ノウハウを実用レベルに落とし込む
ひたすらgoogle検索でやっていくこともできるのですが、断片的な知識を集めていると効率も悪いですし、必要なことしか調べないものなので知識の幅も狭まってしまうと思います。
いったん書籍などで一気通貫、体系的な知識を得てしまうのが、効率的で堅実な勉強法だと思います。
以下では、入門書、個別モジュール用、実践用の3つの視点でおススメ本を紹介していきます。
入門書|データ分析の基本モジュールを網羅したい人向け
データ分析の入門書としては、基本モジュールが全体的に網羅されている書籍がオススメです。
基本モジュールとしては、次のようなものがあります。
NumPy
⇒ 配列操作のためpandas
⇒ データを構造化(表のようなイメージ)して取り扱うためMatplotlib
⇒ データの可視化のため- AI関連のモジュール(
scikit-learn
など)
Pythonの基本文法を覚えただけじゃダメなの!?聞いてないよ!
と思う方もいるかと思いますが、データ分析に関わらず、関連モジュールの習熟がpythonの応用には欠かせません。
とはいえ、最近は基本モジュールを網羅的に解説した良書もあるので、しっかり勉強してデータ分析を得意分野にしていきましょう!
Pythonデータサイエンスハンドブック
データ分析の入門に向けたかなりの良書だと思います。
NumPy
、pandas
、Matplotlib
、scikit‐learn
についてバランスよく解説されているので、入門者の方には特におすすめです。
次のような人は、一度全体を通して勉強してみると、一気に知識の幅が広がると思います。
NumPy
、pandas
、Matplotlib
を使ったことがない人- 基本的なこともGoogle検索に頼りがちな人
各モジュールの章は、サンプルコード付きで解説されているのは当然ですが、
- 基礎事項→使用例(事例)
のように適宜、使用例が散りばめられているので、理解がはかどりますね。
注意点としては、日本語訳がじゃっかん不自然な感じがあるというところでしょうか…。
私はストレスにはなりませんでしたが、気になる方は次のような純日本製の書籍で学ぶのもいいかもしれません。
入門書は網羅的に扱っている分、レベルが上がってくると各モジュールについてより詳しく学びたくなってくると思います(網羅的な入門書にあまりハイレベルな解説を求めるのは、少し酷なことかと…)。
そういった場合は、各モジュールについて個別に勉強した方が良いかもしれませんね。
個別本|pandasの操作を上達したい人向け
pythonを使ったデータ分析をする上では、pandas
を手足のように扱えることが重要です。
例えば、次のような基本処理でいちいちGoogle検索していると、時間がいくらあっても足りません…(細かい部分は仕方ないですが…)。
- CSV・Excelデータの読み込み
- 必要なデータ行・列の抽出、フィルタリング、欠損値処理
- データの可視化
- 基本的な統計量出力、相関の考察
初めのうちは調べながら、勉強しながら、取り組んでいくのは当然のことです。
しかし、効率的にデータ分析をしていくためには、どこかのタイミングでpandas
の使い方を徹底的に勉強して、自分のものにすることが必要だと思います。
pandas
の取り扱いをレベルアップするためのpandasに特化した本としては、次のような書籍がおすすめです。
Pythonによるデータ分析入門
pandas
関連では、最も有名な書籍の一冊だと思います。というのも、著者がpandas
の開発者ですからね。
pandas
でのデータの読み書き、加工、クリーニング、前処理、連結、結合、変形が詳しく解説されています。
次のようにpandas
の習熟度をもう一歩押し上げたいという方におススメの書籍です。
pandas
の使い方を、基礎からきちんと学びたいpandas
の基本的なことを、何度もネットで検索するのを卒業したい- 今まで知らなかった
pandas
の機能をもっと知りたい
ただし、内容は充実しているのですが、文章とコードでの解説が多く、読み疲れてしまうこともあるかと思います。
あまり文章ばかり読むのは得意じゃないな、という方は次のような書籍もおススメです。
「解説」、「補足」、「参照」など書籍内のデザインも個人的には好きで、けっこう読み進めやすいと思います。
実践用|個別事例で実力を上げたい人向け
モジュールの基本操作を覚えた後には、実践での経験蓄積が非常に重要だと思います。
実務として取り組む中で、次のような能力を養っていくことになります。
- データ処理のフローの理解・実践
- データ分析の着眼点や切り口を養生
- 自分に合ったスニペット(定型文のようなもの)の体得
経験を積むことで、こういった能力をどんどん養っていきたいところです。
とはいえ、初めのうちは、次のような不安がつきまとうものです。
- この処理でいいのか?
- もっと効率的な方法、有効な方法はないのか?
そういった時には、実例を模擬した例題が充実した参考書がオススメです。
ただし、データ分析の方法に「唯一の答え」があるわけではないので、「自分ならこうするけど、こういった視点もあるのだな」という考え方で取り組むことが重要です。
書籍に「唯一の答え」を求めるのではなく、自分の「考え方を広める手段」として書籍を利用することをお勧めします。
Python実践データ分析100本ノック
実践系の参考書の中で最も有名な書籍ですね。
100本ノックとあるので、漢字ドリルや計算ドリルのように、無機質に100個の例題がならんでいるのかと思っていたところ…。
実は、各章毎に仮想の顧客からの依頼事項があって、例題を解くことで依頼を解決していくという構成になっていました。
例題を無心でゴリゴリ解いていくわけではなく、依頼を解決するという目的をもてるので取り組みやすいと思います。
次のような4部構成になっています。
- データ加工・前処理⇒pandasを使ってデータの前処理
- 機械学習⇒scikit-learnで顧客の分析や行動予測
- 最適化問題⇒経営状況改善を目指した最適化問題
- 画像認識・自然言語処理
私の感想としては、100本ノックを通してpandasへの抵抗がだいぶ軽減されたように思います。
データの前処理・加工も解説が充実していたので、この本を終えたあたりから、今までやりたかったけど、どうして良いかわからなかった処理もそれなりにできるようになってきたと思います。
【追記】100本ノックシリーズはよほど人気だったのか、続編が随分出ていたんですね…。
データ加工/可視化の100本ノック。
AIモデルの100本ノック。
機械学習の100本ノック。
合計で400本ノックになってますね笑