[Python] 中級者以上のデータサイエンティストにお勧めの本,4冊+α

この記事では中級者以上のPythonプログラマーにお勧めの,”pythonのcode writing”に関する本を紹介する.特に,僕自身がデータサイエンスをやっているので,データ解析に関わるPythonの便利な記法などがまとめられた本を紹介する.

プログラムを触ってきている人でも,意外とPythonの細やかな部分が冗長だったり整理されなかったり冗長な書き方をどうにかして短く出来ないだろうか,と思うときがないだろうか.

そういったprogrammingの中級者が直面するような悩みを解決してくれる本を紹介する.

Effective Python 第2版 Pythonプログラムを改良する90項目

created by Rinker
¥3,960 (2022/05/17 14:40:37時点 楽天市場調べ-詳細)

最近流行りのEffectiveシリーズ.その中でも第1版から様々な内容が追加された.locals()でfunction内の変数名を取ってくる手法や,PyPIにuploadする際の__init__.pyの書き方などが紹介されている.ザーッと一通り読み通す価値が有る本であろう.

Effective Pandas: Patterns for Data Manipulation

Pythonのpodcastである,Podcast.__init__に登壇されていたMatt Harrisonさんが書いた本.この本はPandasの基礎的な内容から,pandasに特徴的なstringやcategory, timestamp型の処理方法まで細かく書いている.手元にあると非常に役に立つ本だ.
また,この本で紹介されているchaining(“()”で括ってmethodを続けて書く手法)の書き方は,コードの可読性を劇的に改善する.痒い所に良く手が届く本.是非日本語版に翻訳されて欲しいとさえ思う.私はpandasを触り始める人にお勧めする本の一つとなった.

Fluent Python Pythonicな思考とコーディング手法

created by Rinker
¥6,380 (2022/05/17 14:30:58時点 楽天市場調べ-詳細)

Effective Pythonを更に分厚くした内容.この本の面白いところはコーナーケースが色々書かれていること.Pythonの詳細な内部機構やクラスの内容について詳細に書かれている.特殊な挙動をするクラスを記述していきたい場合にオススメの本だ!

下のブログ記事の内容は大体このFluent Pythonから引用している.
pythonの役に立たない tips 集!

実践Python 3

created by Rinker
¥3,740 (2022/05/17 14:40:37時点 楽天市場調べ-詳細)

デザインパターンについて,ひたすら並べた本.かの有名なオブジェクト指向における再利用のためのデザインパターン改訂版のパターンを網羅している.

確かに解析屋さんにとってデザインパターンが要らないかもしれないが,様々なパターンの解析コードを書いていると,コレはSingletonだ,Adaptor Pattern, Bridge Patternが使える,といった場面には多々出くわす.明示的に自らが書くコードを意識する上で良いと思う.

Pythonじゃないけどコードをスマートにする本

正規表現辞典 改訂新版 (DESKTOP REFERENCE)

created by Rinker
¥2,970 (2022/05/17 16:48:54時点 楽天市場調べ-詳細)

文字列はPython操作によく出現する.そこで,正規表現をしっているかいないかでコードの行数は大幅に変わる.この正規表現辞典は正規表現の入門にもオススメだし,忘れたときの辞書としても参考になる.何度も読み返す価値の有る本だ.

ビューティフルコード (THEORY/IN/PRACTICE)

応用出来る具体的なプログラムが書いてある訳ではない.しかし,多くの美しいコードを書くためのPhilosophyが眠っている.全てを読むのは大変だが,自分が興味を持った部分だけ読むだけでも嬉しい.Rubyの開発者のまつもとゆきひろさんも著作に入っている.

ウェブサイト

情報社会になってから,良質な情報は本だけでなくネットにも数多くある.ここでは中級者以上の人がpythonを更に深く知るのに有用なサイトを紹介する.

  • Real Python Tutorials : Pythonの最新情報と,一つ一つ丁寧に書かれた記事が特徴だ.僕は3.8で実装されたwalrus operatorはここから知識を得た.
  • GeeksforGeeks : おたくのためのサイト.時々,掘り出しものの技術が書かれていたりする.
  • Awesome Python in Qiita : Pythonの秀逸なパッケージをあらゆる分野から集めたもの.関連するパッケージを探すときに便利.
  • Pythonic news : Pythonの最新の内容に関して紹介し続けてくれる.
  • Trending Python repositories on GitHub today : GitHubでの勢いのあるRepositoryを紹介する.

あとは,パッケージについて深く知りたいなら,GitHubのissueを直接見たり,source codeを探索してみたり.検索していれば勝手に辿り着くStack Overflowのページを読み漁ったり.

Podcastのオススメなら,Podcast.__init__ が良い.タイトルからセンスある.

初心者にオススメする本

中級者以上になってくると初心者にPythonのオススメ本を聞かれるのではないだろうか?そういう場合には,以下の本がオススメだ.アメリカの小学生向けに書かれた本.内容が非常に平易で分かりやすい.ゲーム作成に内容は寄っているので,ゲームを作る目的でなければそれ以外の部分を読めばよい.

他に良いサイトや本があればコメントなどで教えてください.

コメント

タイトルとURLをコピーしました