s01 t1 tsuji_pylearn_ut_01
TRANSCRIPT
Pythonでプログラムを作ろう!
辻 真吾 @tsjshg
自己紹介 • 辻真吾(1975年8月生まれ) • 今は、東大先端研で働いてます – 生命情報(特にがん)のデータ解析
• Pythonスタートブック(技術評論社)
• プログラム言語 – BASIC/Logo 小学生の時 – C/C++ 大学生の時 – Java, SQL ITベンチャー時代 – Python 20代の終わりから
The RedMonk programming language ranking(2015.1)
http://redmonk.com/sogrady/2015/01/14/language-‐rankings-‐1-‐15/
Zen of Python • import this – There should be one-‐-‐ and preferably only one -‐-‐obvious way to do it.
• Battery included – 豊富な標準ライブラリ
• 初心者にやさしい – プログラミング経験者も書くのが楽
• https://www.python.org – 本家のサイト
• http://www.python.jp – ドキュメントの日本語訳も豊富
Guido van Rossum
2 or 3?
• これから始めるなら、3 • 何か理由があるなら、2.7 • http://python3wos.appspot.com – 外部ライブラリの対応状況を一目で見られるサイト
– ほとんど対応済み
• Python3 – デフォルトの文字コードがUTF-‐8
• MacOSXとの相性も抜群
フェアに • 遅いでしょ? – 軽量言語ですから、もちろん書きやすさ優先 – 数値計算では、for文を使わない – NumbaなどJITコンパイラもある
• なんで2と3互換性ないの? – 痛い! さらなる進化のため(だと思う) – 文字列の扱いなど、やっぱり互換性を捨ててまで3を作った理由はある
• これからは関数型言語でしょ? – 8月号のSoftwareDesignに記事を書く予定
なんと言ってもデータ解析 • データ解析におすすめの外部ライブラリ – Numpy, Scipy
• 強力な行列演算や、基本的な統計関数などを収録 – Matplotlib
• Matlabの文法に似た書き方で、データの可視化ができる
• 強力すぎて、ちょっと使いにくい(でも好き) – Pandas
• 超高性能な数値データを扱うためのライブラリ • 私にエクセルを使うのを止めることを決意させた
– Ipython • Pythonインタラクティブシェルの強化版 • Notebookと呼ばれるWebブラウザ経由の機能がすごい
インストールするの面倒でしょ?
ヒューストンに本拠地を置く、CONTINUUM社が無料で配布 数値計算系のライブラリはほとんど入っているので、手軽でおすすめ (もちろん3対応)
データ解析以外で
Pythonで作られたドキュメント作成ツール 比較的簡単なrst形式で原稿を書くと、綺麗にHTML化してくれる。 (PDFやePub形式にもなる)
私の開発環境
• Emacs24.3+Pythonシェル(IPython) • MacではGUIがCarbonからCocoaになったためか、Emacsの動作がちょっと不安定
• PyCharmよさそう – Emacsのキーバインド再現が結構忠実
まとめ
• データ解析のためなら、RかPython – これは間違いない
• Rは汎用言語ではないので、なんでもできるPythonを選んで損はない
• 次回以降は、みなさんのご要望を取り入れつつ、機械学習の話?