このエントリーをはてなブックマークに追加

Advent Calendar 2013 - 25?

メリークリスマス!!

Merry Christmas

"Advent Calendar 2013" の締めを。

なんとか、"一人 Advent Calendar 2013" を最後までやり遂げたけど、一人でやるもんぢゃぁ、ないな。プログラム系の記事を 25 日連続で投稿するのは、なかなか大変だった。

もともと、職場の仲間が去年にやっていた Advent Calendar 2012 に触発されて、チャレンジしてみたものなのだが、やってみると道のりは険しかった…。

1. 動機

11 月に Python の Pandas パッケージを見つけ、どうやら R のように扱えそうな感触だった。以前から、"できれば Python だけで完結したい…" と考えていたので、自身の学習促進のために "調べたことを Advent Calendar の記事にしよう!" …と思いついたのが始まりだった。知らないことを調べながら書いていこうってんだから、そりゃぁ、大変だわなぁ…。

2. そして、英語との格闘

けして、英語に堪能ではないのだが、 Pandas の日本語の情報は潤沢とは言えず、どうやら英語の情報からは逃げられないらしい。…と、覚悟を決めて買ったのが Python for Data Analysis。

ソースコードが豊富だったので、英語力というより推理力で、なんとかかんとか読み進め、試行錯誤しながら進めていった。

3. 「記事の内容、薄くないですか?」

「記事の内容、薄くないですか?」などという、そんな残酷な突っ込みがあったのだが、まずは、データを自在に振り回せるようにならないと、解析も何もあったものではない。何かを調べようと思っても、ライブラリの操作で躓いていては、調査が進まないからだ。Pandas のような集合データの操作は、通常のプログラムとは考え方が違う (すぐにループ処理を書こうとしてしまう) ため、使いこなすためには、脳の慣れも必要だった。

そして、濃い内容を 24 日間も書き続けるのは、私には無理だ…。

4. 強制的な学習

今回の Advent Calendar は苦しかったけれども、一方で、とても有意義だった。やろうと思えば通常の Python で実現できることを、わざわざ英語の文章を読んでまで学ぶなんて…通常なら、避けて通る道だっただろう。Advent Calendar に挑戦していなければ、たぶん、Pandas を新しく学ぶことはなかった。

だがしかし…。

Pandas を使わずに、標準偏差や相関係数を自分で実装する気がまったく失せた今、挑戦して良かったと思う。統計処理以外の今までロジックを書いていたところも、使えるところは Pandas を使って記述することになるだろう。ロジックを自分で書くとバグの入り込む余地があるし、ロジックが少なくなれば、インデントの少ない可読性の高い (Pandas を知っていれば…ではあるが) コードになるから。

開発を続けているエンジニアたちに敬意を表しつつ、大いに活用させてもらうつもりだ。