皆さんはデータ分析で、どんなことをしてみたいのでしょうか?
- AIで未来を予測して、より良い未来にする方法を考える
- データから特徴量を抽出して、プロジェクトの改善案を提示すること
- データを可視化して、クライアントにわかりやすく説明する
どれもデータ分析を勉強するうえでの、素晴らしい目標ですよね。
では、ここで質問です。
皆さんは、次の処理をGoogle検索なしで、すぐにできますか?
- 辞書型から
DataFrame
を作成 - 欠損値処理
- グラフ化
- 統計値の出力
こちらのデータを使用して、実行することをイメージしてみてください。
#初期データ(辞書型)
data = {
'Taro':{'Kokugo':90, 'Sugaku':85, 'Eigo':70},
'Jiro':{'Kokugo':80, 'Sugaku':60, 'Eigo':90, 'Shyakai':95},
}
どうでしょうか?
もし10秒以内に大まかな処理フローを思いつかなかったのであれば、もう少し勉強が必要です。
どんな目標に向かうにしても、
- データ分析の基本はデータを自由に扱えること
です。
細かいことは仕方ありませんが、このくらいの簡単な処理はGoogle検索せずにできるようにならないと、いくら時間があっても足りません。
ちなみに、私はできませんでした…、半年前までは。
Pythonの入門書を読んだばかりで、こういった処理ができないのは当然です。
でも、安心してください。
私の場合は、ある本で学習することで、データ処理の基本ができるようになりました!!
それが、データ分析の名著中の名著…!
この本は非常にボリュームがあるのですが、押さえておきたいデータ処理の基本が詰まっています。
ぜひ皆さんも、この本を通して基本的なデータ処理方法をマスターしてください!
今回は、私の学習経験を通して、『Pythonによるデータ分析入門』の概要や対象レベルをまとめました。
ぜひ購入前の参考にして下さい!
冒頭のサンプルデータの処理例も「できるようになったこと」に書いていますので、ぜひ見てみてください。
この本を読めば、すぐに、このくらいの処理はできるようになるはずです!
pythonで未来を掴むんだ!
Pythonによるデータ分析入門の概要:
この本は一言で言うと、pandas
を使用したデータ処理方法についての解説書です!
pandas
は、データ分析の主要ライブラリで、次のようなことができます:
- テーブル形式のデータを処理・分析
- 時系列データを処理・分析
matplotlib
と連携したデータの可視化- データの統計処理
このようなpandas
の使用方法について教書的に、網羅的に解説している書籍です。
著者はpandas
の開発者ですので、さすがに解説が詳しいです。
どんな人におススメ?
pandas
に関する情報はネット上に無数にあって、そういった情報も非常に有益です。
しかし、そういった対処療法的なことをしていても、pandas
の基礎力を身に着けるのは難しいでしょう。
そこで、この本は…
pandas
の使い方を、基礎からきちんと学びたいpandas
の基本的なことを、何度もネットで検索するのを卒業したい- 今まで知らなかった
pandas
の機能をもっと知りたい
という方におススメです。
pandas
の基礎を学ぶよりも、実践的な問題をバリバリ解きたいという方には、むしろこちらがおススメです。
全体の構成
主に次のような構成になっています。
- 環境構築:IPython、Jupyter Notebookの使い方
- python、
numpy
の基礎 pandas
のデータ構造(Series
とDataFrame
)の基礎pandas
でのデータ処理- データの読み書き、加工
- 統計処理、データ集約、時系列データの処理
matplotlib
を用いたデータの可視化方法
これに加えて、統計モデルや機械学習(scikit-learn
)、データ分析例も解説されています。
対象のレベル
pythonを初めて触る方には少し難しいかもしれませんが、各章の解説は丁寧ですので:
- pythonの入門書を一冊程度終了している方
- pythonの入門セミナーを終了している方
であれば取り組める内容だと思います。
丁寧に解説されているので、numpy
やpandas
を使用した経験がなくても大丈夫だと思います。
ただし、この本は分厚く(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
を含ませていました。
欠損値処理として、NaN
を0
で置換してみましょう。
df = df.fillna(0)
df
次に統計値の出力例として、列ごとに平均値を出力してみます。
df.mean()
# Taro 81.666667
# Jiro 81.250000
# dtype: float64
DataFrame
のmean()
メソッドを使用すると、各列の平均値がSeries
で出力されます。
一行で処理できるというのは魅力的ですね。
最後にDataFrame
をもとに棒グラフを作成してみましょう。
df.plot.bar()
DataFrame
の標準メソッドplot.bar()
を使用すると、一行のスクリプトで簡単に棒グラフを作成できます。
pandas
には統計処理や可視化の標準メソッドが豊富に備わっていることがわかりますね。
『Pythonによるデータ分析入門』では、こういった標準メソッドについても丁寧に解説されています。
この本を読めば、すぐに、このくらいの処理はできるようになるはずです!
学習に必要な所要時間
各章で内容が充実しているため、私の場合は1章あたり1~2時間必要でした。
14章+付録が2つあるので、全体で約20~30時間程度かかりました。
一日1時間勉強して約一か月といったところでしょうか。
これでpandas
の基礎をマスターできたので、私としてはかなり満足しています。
おススメの勉強の仕方
これはこの本に限ったことではないのですが、限られた時間の中で効率よくプログラミングの勉強をするためのおススメの方法です。
- 通勤・通学時間などの隙間時間に各章をざっと読む
- 自宅に帰ったら、PCで実際にスクリプトを書きながら学習
「ざっと読む」と「スクリプトを書く」で、同じ章を2回学習します。
同じ章を2回も勉強して効率が悪そうですが、繰り返すことで記憶の定着を促します。
また、プログラムの勉強で問題となるのは時間の確保です。
ある程度まとまった時間がないとスクリプトは書けませんが、それを言い訳にしてやらないことが最悪です。
そこで、隙間時間は内容の理解にあてて、別に集中時間を用意してスクリプトを書いて勉強します。
隙間時間と集中時間をうまく使い分けるのがポイントかと思います。
まとめ
『Pythonによるデータ分析入門』は、
pandas
開発者が書いたpandas
の教科書的な本
この本は…
pandas
の使い方を、基礎からきちんと学びたいpandas
の基本的なことを、何度もネットで検索するのを卒業したい- 今まで知らなかった
pandas
の機能をもっと知りたい
といった人におススメです!
ただし、
- 分厚いのでやる気と根気が必要!
その分、この本を読めばデータ分析に必要なデータ処理ができるようになると思います!
この本に載っているくらいの内容は、息をするように自由自在にできるようになりたいですね!
Twitter@YutaKaでは、ほぼ毎日pythonに関する情報を発信しています。
気楽にツイートしているので、気軽にフォローしてください!