YutaKaのPython教室

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

【レビュー】「Pythonによるデータ分析入門」| pandas開発者によるpandasユーザーのためのpandasの教科書!

皆さんはデータ分析で、どんなことをしてみたいのでしょうか?

  • AIで未来を予測して、より良い未来にする方法を考える
  • データから特徴量を抽出して、プロジェクトの改善案を提示すること
  • データを可視化して、クライアントにわかりやすく説明する

どれもデータ分析を勉強するうえでの、素晴らしい目標ですよね。

では、ここで質問です

皆さんは、次の処理をGoogle検索なしで、すぐにできますか?

  • 辞書型からDataFrameを作成
  • 欠損値処理
  • グラフ化
  • 統計値の出力

こちらのデータを使用して、実行することをイメージしてみてください。

#初期データ(辞書型)
data = {
    'Taro':{'Kokugo':90, 'Sugaku':85, 'Eigo':70},
    'Jiro':{'Kokugo':80, 'Sugaku':60, 'Eigo':90, 'Shyakai':95},
}

どうでしょうか?

もし10秒以内に大まかな処理フローを思いつかなかったのであれば、もう少し勉強が必要です。

どんな目標に向かうにしても、

  • データ分析の基本はデータを自由に扱えること

です。

細かいことは仕方ありませんが、このくらいの簡単な処理はGoogle検索せずにできるようにならないと、いくら時間があっても足りません

ちなみに、私はできませんでした…、半年前までは

Pythonの入門書を読んだばかりで、こういった処理ができないのは当然です。

でも、安心してください。

私の場合は、ある本で学習することで、データ処理の基本ができるようになりました!!

それが、データ分析の名著中の名著…!

Pythonによるデータ分析入門 第2版 ―NumPy、pandasを使ったデータ処理

Pythonによるデータ分析入門 第2版 ―NumPy、pandasを使ったデータ処理

  • 作者:Wes McKinney
  • 発売日: 2018/07/26
  • メディア: 単行本(ソフトカバー)
 

この本は非常にボリュームがあるのですが、押さえておきたいデータ処理の基本が詰まっています

ぜひ皆さんも、この本を通して基本的なデータ処理方法をマスターしてください!

今回は、私の学習経験を通して、『Pythonによるデータ分析入門』の概要や対象レベルをまとめました。

ぜひ購入前の参考にして下さい!

冒頭のサンプルデータの処理例も「できるようになったこと」に書いていますので、ぜひ見てみてください。

この本を読めば、すぐに、このくらいの処理はできるようになるはずです!

pythonで未来を掴むんだ!

Pythonによるデータ分析入門の概要:

この本は一言で言うと、pandasを使用したデータ処理方法についての解説書です!

pandasは、データ分析の主要ライブラリで、次のようなことができます:

  • テーブル形式のデータを処理・分析
  • 時系列データを処理・分析
  • matplotlibと連携したデータの可視化
  • データの統計処理

このようなpandasの使用方法について教書的に、網羅的に解説している書籍です。

著者はpandasの開発者ですので、さすがに解説が詳しいです。

どんな人におススメ?

pandasに関する情報はネット上に無数にあって、そういった情報も非常に有益です。

しかし、そういった対処療法的なことをしていても、pandasの基礎力を身に着けるのは難しいでしょう。

そこで、この本は…

  • pandasの使い方を、基礎からきちんと学びたい
  • pandasの基本的なことを、何度もネットで検索するのを卒業したい
  • 今まで知らなかったpandasの機能をもっと知りたい

という方におススメです。

pandasの基礎を学ぶよりも、実践的な問題をバリバリ解きたいという方には、むしろこちらがおススメです。

全体の構成

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

  • 環境構築:IPython、Jupyter Notebookの使い方
  • python、numpyの基礎
  • pandasのデータ構造(SeriesDataFrame)の基礎
  • pandasでのデータ処理
    • データの読み書き、加工
    • 統計処理、データ集約、時系列データの処理
  • matplotlibを用いたデータの可視化方法

これに加えて、統計モデルや機械学習(scikit-learn)、データ分析例も解説されています。

対象のレベル

pythonを初めて触る方には少し難しいかもしれませんが、各章の解説は丁寧ですので:

  • pythonの入門書を一冊程度終了している方
  • pythonの入門セミナーを終了している方

であれば取り組める内容だと思います。

丁寧に解説されているので、numpypandasを使用した経験がなくても大丈夫だと思います。

ただし、この本は分厚く(600ページ近い)、親しみやすいイラストが挿入されているわけでもありません。

  • やる気と根気が必要

です。情報はギッシリ詰まっているので、この本を通して相当程度pandas力が上がると思います。

できるようになったこと

丁寧な解説やサンプルコードを通して、基本的なpandasの操作は比較的自由にできるようになりました!

簡単な例ですが、

  • 辞書型からDataFrameを作成
  • 欠損値処理
  • グラフ化
  • 統計値の出力

という一連の処理を行ってみます。

辞書型の初期データから、DataFrameを作成します。

import pandas as pd
#初期データ(辞書型)
data = {
    'Taro':{'Kokugo':90, 'Sugaku':85, 'Eigo':70},
    'Jiro':{'Kokugo':80, 'Sugaku':60, 'Eigo':90, 'Shyakai':95},
}
 
# 辞書型⇒データフレームへ変換
df = pd.DataFrame(data)
df

次のようなDataFrameが作成されます。

欠損値処理の例を示すために、わざとNaNを含ませていました。

欠損値処理として、NaN0で置換してみましょう。

df = df.fillna(0)
df

次に統計値の出力例として、列ごとに平均値を出力してみます。

df.mean()
 
# Taro    81.666667
# Jiro    81.250000
# dtype: float64

DataFramemean()メソッドを使用すると、各列の平均値がSeriesで出力されます。

一行で処理できるというのは魅力的ですね。

最後にDataFrameをもとに棒グラフを作成してみましょう。

df.plot.bar()

DataFrameの標準メソッドplot.bar()を使用すると、一行のスクリプトで簡単に棒グラフを作成できます。

pandasには統計処理や可視化の標準メソッドが豊富に備わっていることがわかりますね。

Pythonによるデータ分析入門』では、こういった標準メソッドについても丁寧に解説されています。

Pythonによるデータ分析入門 第2版 ―NumPy、pandasを使ったデータ処理

Pythonによるデータ分析入門 第2版 ―NumPy、pandasを使ったデータ処理

  • 作者:Wes McKinney
  • 発売日: 2018/07/26
  • メディア: 単行本(ソフトカバー)
 

この本を読めば、すぐに、このくらいの処理はできるようになるはずです!

学習に必要な所要時間

各章で内容が充実しているため、私の場合は1章あたり1~2時間必要でした。

14章+付録が2つあるので、全体で約20~30時間程度かかりました。

一日1時間勉強して約一か月といったところでしょうか。

これでpandasの基礎をマスターできたので、私としてはかなり満足しています。

おススメの勉強の仕方

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

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

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

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

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

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

そこで、隙間時間は内容の理解にあてて、別に集中時間を用意してスクリプトを書いて勉強します。

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

まとめ

Pythonによるデータ分析入門』は、

  • pandas開発者が書いたpandasの教科書的な本

この本は…

  • pandasの使い方を、基礎からきちんと学びたい
  • pandasの基本的なことを、何度もネットで検索するのを卒業したい
  • 今まで知らなかったpandasの機能をもっと知りたい

といった人におススメです!

ただし、

  • 分厚いのでやる気と根気が必要!

その分、この本を読めばデータ分析に必要なデータ処理ができるようになると思います!

この本に載っているくらいの内容は、息をするように自由自在にできるようになりたいですね!

Pythonによるデータ分析入門 第2版 ―NumPy、pandasを使ったデータ処理

Pythonによるデータ分析入門 第2版 ―NumPy、pandasを使ったデータ処理

  • 作者:Wes McKinney
  • 発売日: 2018/07/26
  • メディア: 単行本(ソフトカバー)
 

 

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

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