「PythonユーザのためのJupyter実践入門」を写経しながら読みました

最近、Python機械学習やデータサイエンス方面で使う機会がありました。

これまでPythonをWebアプリで使うことが多かったこともあり、最初のうちは各種ツールを雰囲気で使っていました。

ただ、使っていくうちに、ツールを基本的なところから理解したくなりました。

そこで、知りたいツールが網羅されている「PythonユーザのためのJupyter実践入門」を写経しつつ読みました。

PythonユーザのためのJupyter[実践]入門

PythonユーザのためのJupyter[実践]入門

 

感想

本書では、自分の知りたかった

  • Anaconda
  • Jupyter Notebook
  • Pandas
  • Matplotlib

が基本的なところから書かれていました。

そのため、雰囲気で使っていた

  • condaコマンドで仮想環境を作る方法
  • Jupyter Notebookのメニューやボタンの意味
  • Matplotlibの日本語文字化けを解消する方法
  • Matplotlibで図を描画する方法
    • フィギュアとサブプロットの概念(p140)

などがおさえられました。

 
特に良かったのが、Matplotlibの書き方について

  • MatplotlibにはMATLAB-styleとOOP-Styleの2つの書き方がある
  • 本書ではOOP-Styleの書き方を推奨する

と書かれていたことです(p253)。

今までMatplotlibにはいろいろな関数があって分かりづらいと感じていたことが、それが実はスタイルが2つあるせいだと分かりました。

そのため、今後は「Webにあるサンプルはどちらで書かれているか?」が判断でき、悩むことなくサンプルを読み進められそうでした。

 
また、本書の推奨するOOP-Styleであれば、どの図形を描くときも

# フィギュアを用意する
fig = plt.figure()

# サブプロットを用意する
ax = fig.add_subplot(111)

# 図形をプロット
ax.<描画メソッド>

# タイトルやラベルなどをつける
ax.set_title('foo')

# 描画
plt.show()

という流れで書いていけそうでした。

 
3章以降は写経しながら読み進めましたが、進めるうちにコード補完が欲しくなりました。そのため、PyCharm + Jupyter Notebookに切り替えました。
Using IPython/Jupyter Notebook with PyCharm - Help | PyCharm

見栄えは劣るものの、日頃PyCharmを使っていることもあり、切り替えて以降はスムーズに写経できました。

 
一方、Pandasについてはまだ理解しきれていないと感じたため、本書以外の書籍や自分好みのデータを探して、引き続き手を動かしていこうと思います。

 
最後になりましたが、著者のみなさま、良い本をありがとうございました。