Python for Data Analysisはpandas: The Definitive Guide

あまり深く考えすにタイトルだけで購入したのだが、良い意味で裏切られた。でも分析の手法を期待して買うと退屈かもしれない。

ProductName Python for Data Analysis
Wes Mckinney
Oreilly & Associates Inc / 3634円 ( 2012-10-29 )


この本はpandasの作者がそのライブラリの説明を事細かに語っているという内容です。

pandasは何かというと

Python has long been great for data munging and preparation, but less so for data analysis and modeling. pandas helps fill this gap, enabling you to carry out your entire data analysis workflow in Python without having to switch to a more domain specific language like R.pandas

データプレパレーションと分析のギャップを埋めるためのライブラリです。

具体的にはpythonに(Rでいう)dataframeを与えます。実際にはdataframeに加えてSQLでいうところのjoin(many-to-manyとかone-to-many,outer,inner)とかgroupingもできるし、multiindex(階層型のインデックス)もサポートしているので、使いやすい。

Rでデータの前処理をやる気にはなかなかならないと思うので、大体他の言語でデータを綺麗にしてからRにぶち込むという流れが多いと思うが、pandas+scipy+matplotlibを使えば分析までできるし、scikit-learnを利用すればさらに機械学習も可能。どうしてもRが使いたければrpy2使えばいい。

本の内容は5章くらいまでをipythonやnumpyの基本的な事柄に割いているのと、appendixになぜかpythonの基礎が載っているという状況なので、Rユーザーの置き換えを意識して構成されているのかなぁ?という感じ。8章はmatplotlibの説明。

5章からpandasの機能がずらずらと紹介されていてデータの要約のやり方とか、欠損値の扱い方とかデータの変換とかRでよくやるであろうことを丁寧に説明している。で、章の最後に実際の例が載っているんだけど、この部分は読んでて楽しい。

読んで覚えるというよりは、pandasを使っていてわからないことが出てきたらこの本をあたって理解するという使い方のほうがいいかもしれない。

本書を読んでpandasを積極的に使っていこうと思ったので、ググったらちょっと前にtokyo.scipyで事例紹介されていたみたいで、、、行きたかったなぁ。

Inkscapeに入門した

娘と一緒にInkscapeに入門することにした。

とりあえず図書館に行って超入門書をチョイス

ProductName 無料で使えるベクターグラフィック Inkscapeスタートブック
羽石 相
秀和システム / 1764円 ( 2012-03 )


  • クローンはプロパティの変更が反映されるコピー
  • 行と列でオブジェクトを格子状に並べることができる
  • ロックはオブジェクトのプロパティから
  • パスからビットマップをトレースできる
  • テキストをパス上に配置

これだと、チュートリアルがないので、それっぽいのを探してみた。

自分だけで使うんだったら検索だけでいいような気もするが、子供は本のほうがわかりやすいだろうということで本も購入した。

Sphinxでmobi化がうまくいっていない

昨日からFlask入門のやつをSphinxに移植していた。

1364111792

epubはさくっとmakeできたのだけど、Sphinx mobi builderにならってビルドしてみたけどNotImplementedErrorがでたので、Sphinxでmobiにするのは諦めてcalibreを使った。

Exception occurred:
  File "/Users/kzfm/Sphinx_projects/kindlebuilder/kindlebuilder/kindlewriter.py", line 295, in visit_image
    raise NotImplementedError("should implement this feature")
NotImplementedError: should implement this feature

ちょっと負けた感があるので、Shizuoka.pyまでにはいい感じのmobi変換のやり方を見つけておきたい。あとSend to Kindle Buttonでmobiをkindleに送れるように設定できるのだろうか?できるのであればSphinxでつくったGitHub Pagesにmobi用のボタンつけることができてかなり快適になると思うんだけどなぁ。

というような内容のLTをやれればと思っているので、興味があればShizuoka.pyに参加よろしくお願いします。

静岡プログラミング言語勢力図2013春版

13.03.23追記

皆さんのおかげでShizuoka.pyを開催することになりましたので楽しくやりましょう。

ProductName キングダム 1 (ヤングジャンプコミックス)
原 泰久
集英社 / 530円 ( 2006-05-19 )



静岡県は東西に長いので文化が結構違うのだが、実はプログラミングのカルチャーも違うのだ。 二年くらい前は西のRuby東のPythonと言われていたような気がするんだが最近は静岡県東部でHaskellerが勢力を伸ばし始めているのが認知されているらしく素晴らしいですね。

shizuoka_lang

西部にはHamamatsu.rbがあり、東部には三島Haskell無名関数の会があるのに、静岡でPythonの集まりがないのはアレなので、一度くらいはShizuoka.pyをやりませんか?

snake

巳年だしね。

ウィルスは生物なのか無生物なのか、そもそもそんな場合分けは無意味な行為なのか

宿主のいない場所にもウィルスが存在する、つまりウィルス(の生存)にとって宿主の存在は必須でないのには驚く。

「ウィルス」という言葉にはもともと、「命をもたらす液」「死をまねく毒」という相矛盾する意味がありました。

12のウィルスの話が詰め込まれていて楽しく読めた。

ProductName ウイルス・プラネット (飛鳥新社ポピュラーサイエンス)
カール・ジンマー
飛鳥新社 / 1575円 ( 2013-02-14 )


ミミウィルスは1262個の遺伝子を有している巨大なウィルス。

Shizuoka.pyをやります

shizuoka.py

4/13 13:00-17:30@静岡b-nestです。発表者絶賛大募集中です。

Pythonの魅力は別にここに書かなくてもわかると思うので、Hokkaido.pm Casualに倣い静岡にくるとどんな美味しい食べ物があるかを書いておきます。

由比で春の桜えび漁が始まっている

静岡と三島の中間にある由比漁港で、ちょうど春漁の真っ最中なので新鮮な桜えびが食べられます。というわけで、漁港に立ち寄るのもいいでしょう。

三島のうなぎは美味い

うなぎの泥臭さをとるために綺麗な水に二三日さらす必要があるために、湧水量の多い三島ではうなぎ屋が多いそうです。

桜屋かうなよしだったら桜屋のほうが好きなんだけど昼は超混みます。

ほかにもいろいろあるよ。

沼津漁港は観光地としても面白い

沼津駅からタクシーで5分くらいの場所に沼津港があります。ちょっと観光地化しているので食べるところは色々あります。イワシ専門店の磯はるなんかはオススメです。

他には沼津港深海水族館なんかもそれなりに面白いです。

あとは沼津の誇る地ビールの店であるタップルームが昼からやっているので、昼飲みするにはオススメです。海を眺めながらビールをグビグビやりながらまったりするのは至福。

というわけで、観光も兼ねて遊びに来てもいいかと思います。

Mac OSX 10.8にmatplotlibをインストールする

昔からmatplotlibのインストールはめんどくさかったんだが、OSX 10.8には全然入らない、入る気配すらみせない。

インストールできたと思ってもipython --pylabするとAbort trap: 6する。python対話環境からimportしてみると

Symbol not found: _png_set_longjmp_fn

がでる。sofみたらln -sでいけるでっていうのを見つけたんだけど、「えーこれで解決すんの?」と思いつつやってみたけどやっぱダメだった。

さらに色々調べていたら、Mac OSX 10.7 LionにNumpy,Scipy,Matplotlibなどをインストールするというエントリをみつけて、Scipy Superpackを入れてみたらあっさりインストールできた。

仮想環境じゃないけどまぁいいかなぁと。

  • Numpy
  • Scipy
  • Matplotlib
  • iPython
  • Pandas

がインストールされるのでPython for Data Analysisを読む準備が整った。

ProductName Python for Data Analysis
Wes Mckinney
Oreilly & Associates Inc / 3634円 ( 2012-10-29 )


HTML5 ★ BOILERPLATEを読んでみた

14th Knock!のセッションでHTML5 Boilerplate読みをやるよーっていう案内を見て、そういえば僕もH5BPの中身を読んだことなかったわーということで読んでみた。

もともとInitiailzr経由でbootstrapを使い始めたのだけど、その際にH5BPかbootstarpのどちらかを選択するみたいな印象を受けたので、両者は同じようなフレームワークなのかぁと勝手に理解してたんだけど、改めて読んでみたら全然違った。

H5BPはhtml5のボイラープレートとレスポンシブ・ウェブデザインのためのcssがちょっと含まれている。一方でtwitter-bootstrapはgridシステムとかUIを備えたcssのフレームワークって感じで、実は補完する関係なのね。Initiailzrでbootstrapのセットをダウンロードするときについてくるindex.htmlのスケルトンはH5BP由来だった。

ソース読むのが手っ取り早かったけど、H5BPのドキュメントもよかった。特にExtend and customise HTML5 Boilerplateはメタデータとかマイクロフォーマットが完結にまとまっていた。

興味があれば

14th Knock!は2013年4月19日(金)19:30〜21:30だそうです

ScipyをLionにインストール

なんかエラーが出たのでちょっとはまった。

....ARPACK/FWRAPPERS/veclib_cabi_c.o" failed with exit status 1

みたいなやつ。

Installing SciPy / Mac OS Xにあるように環境変数を設定してから再度pipしたらインストールできた。

$ export CC=clang
$ export CXX=clang
$ export FFLAGS=-ff2c

できたのでよし。