読者です 読者をやめる 読者になる 読者になる

Λάδι Βιώσας

http://profile.hatena.ne.jp/kenkitii/

Python pandas とか Jupyter とか入れた備忘録

最近は数年ぶりに C# を書いていて、今までエクセル + VBA で処理していた事は全て C#アプリ で痴漢置換し、その他アプリをごりごりと作っています。で、そんな前置きでなんなんですが、C# とはなんの関係もない Python のお話です。

ひと昔前、統計解析データ処理に使う言語というと、まず R 言語が思い浮かびました。さらに時系列データ(データフレーム)の処理をしようとすると、ほぼ R 一択かな〜と考え、シコシコ勉強するも独特の言語仕様の R はとても使いづらい。せめて普段使ってる ruby からなんとか使えないものかと、rsruby やら rinruby など試行錯誤してい(長いから以下略。)と、わたくしの稚拙で冗長な文よりも、時代の移り変わりをとても解りやすく書かれた英文の翻訳をされている方がいたので、以下に紹介してみます。

科学計算における均質化、あるいはなぜPythonが着実に他言語のシェアを奪っているか | once upon a time,跡地

一言で言うと、昔、自分が R でやりたかったことは今やほぼ Python で出来ちゃうよね!て感じです。そんなわけで以下に構築した環境のインストール備忘録、ちなみに OSX Yosemite + Python 2.7.10 です。

Python pandas, numpy

Xcode 諸々のツールが入っていない場合、App Store から入れたり、xcode-select --install したりして下さい。

インストール

sudo pip install numpy pandas matplotlib cffi lxml html5lib BeautifulSoup4

BeautifulSoup を使わない人は、numpy, pandas, matplotlib だけで充分と思います。ちなみに pip install lxml しようとすると gcc が無いよとか色々言われましたが、cffi を入れれば OK でした。ここまでで R と同じように Python でデータ分析が出来る状態になりました。

Jupyter

Pythonruby に慣れている方は ipython や irb などのインタラクティブ(対話型)シェルに馴染んでいると思いますが、それの全言語のブラウザ版が Jupyter です。「別にブラウザでやりたくないし必要もないし〜」というツンデレな方も大勢いるでしょうが、自分の思う利点はおおよそ下記の通り。

  • 環境を問わずに EmacsVim キーバインドを使える

  • 画像をインライン表示できる

  • 履歴を保存してコピペが楽

インストール

sudo pip install ipython pyzmq jinja2 tornado jupyter

使い方

jupyter notebook

するとブラウザが起動し下のような画面↓になるので、赤い囲みをクリック。 f:id:kenkitii:20151001003440p:plain

普段 ipython を使っているようにもりもりとコードを書きましょう。超便利! f:id:kenkitii:20151001002617p:plain ちなみにグラフのインライン表示をするには、コードの最初の方に

%matplotlib inline

と書いておきましょう。(参考)