ぱたへね

はてなダイアリーはrustの色分けができないのでこっちに来た

Beging Python Visualization

Beging Python Visualization読みました。最初はmatplotlibを使った綺麗なグラフの書き方が細かく載っている本かと思って買いましたが、後半がなかなかおもしろく良い意味で裏切られました。Pythonを使ってできることを、浅く広くしっかりと紹介している本です。

 想定している読者は初めてPythonに触る人なので、インストールの仕方からエディタやIDEの紹介から説明されています。簡単なPythonの文法の説明が続き、テキストファイルの処理へと進みます。これだと入門書にありがちなのですが、Chapter4 Data Organizationでは、csv formatについての説明があったり、ファイル名に日付、時刻を入れる簡単な方法が紹介されています。例えばこういう書き方が紹介されていて、文字列処理をこねこねしてしまう私には上手いなと関心してしまいました。

 >>> from time import localtime
 >>> datatime_stamp = '%4d-%02d-%02dT%02d-%02d-%02d' % localtime()[:6]
 >>> datatime_stamp
 '2011-07-26T17-56-15'

Chapter6 Graph and Plotでようやくグラフを書くようになって、ここが折り返し地点です。

Chapter7 Math Gamesでは、cmath、numpy、scipyを使って、ニュートンフラクタルを書いたり、フーリエ変換をしたり、魔方陣を解いたりします。Chapter8、chapter9はその勢いをそのままに、線形代数、各種補完、デジタル信号処理、簡単な画像処理、flood fillによるオブジェクトの数え上げ、まで本当に幅広いジャンルの問題をPythonで扱っています。筆者の好みだと思いますがlist comprehensionもたくさん出てきます。

最後のChapter10では、ファイル処理周りで便利なモジュールの紹介があります。struct.pack、os、Pickle、OptParse、glob、filecomp、tarfile、difflib等、まとまっているとうれしいモジュールが、サンプル付きで説明されていて良かったです。もっと早く読みたかったです。

理系の大学生でちょっと実験の結果を綺麗にまとめたいけど、プログラミング言語をどうしようかと悩んでいる人にお勧めです。日本語のPython入門書とペアで読めば、大概の事はできるようになるでしょう。ニュートン法や線形補完等が説明もなく出てくるので、大学で習う数学が苦手な人にはお勧めできません。本の値段が比較的安く、今からPythonでデータを処理したいという人にはお勧めの一冊です。