Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

PyLadies Tokyo #3: ゼロからはじめたPyData

2,798 views

Published on

デモコードはこちら:http://nbviewer.ipython.org/github/nobolis/PyLadies03_demo/tree/master/

Published in: Technology
  • Be the first to comment

PyLadies Tokyo #3: ゼロからはじめたPyData

  1. 1. ゼロからはじめるPyData た @nobolis かたやなぎ のぶこ PyLadies Tokyo #3 Python for Beginners 2015年1月23日(金)19:00 〜 21:00
  2. 2. 本編の前に本業関係の宣伝です 追加スライド
  3. 3. 2015年は国際土壌年です! IYS2015の目標 食料安全保障と本質的な生態系サービスのために土壌の重要性の認識と理解を 強化すること 追加スライド
  4. 4. みなさまのエントリーお待ちしております! 優秀作品には賞金も! 追加スライド
  5. 5. 詳しい情報は国際土壌年ポータルサイトで! 追加スライド https://internationalyearofsoils2015.wordpress.com/
  6. 6. 本編スタート 追加スライド
  7. 7. おことわり 本スライドは、CentOSとWindowsでPythonをは じめて1年未満の初心者が自分の学んできたことをまと めたものであり、誤った知識が含まれている可能性があ ります。 初学者の方はより正確な情報を書籍・ネット・人等 から入手することをお勧めします。 間違い等、お気づきの点がありましたらご指摘頂ける と幸いです。
  8. 8. アップロードにあたって • 練習不足もあってはしょりすぎたプレゼンをしたこと を反省し、すこし情報を追加してアップしています • プレゼンでは書いていなかった部分は紫で示して あります。 • 追加スライドにはタグがつけてあります。 追加スライド
  9. 9. OUTLINE • 自己紹介 • PyDataの基本ツール • インストールについて2,3のこと – 2台のWindowsマシンにPyDataツールを インストールした時の感想 • Ipython notebook デモ • Python csvkit
  10. 10. 自己紹介 @nobolis かたやなぎ のぶこ 農水省系研究機関 研究員
  11. 11. 研究テーマ 土壌由来温室効果ガスの定量 土壌表面からのガスを測定 モデルを使って排出量推定 11 大学院生時代 現在
  12. 12. 研究の流れ モデルインプット アウトプット 土壌情報 気象データ 圃場管理情報 etc. 温室効果ガス排出量 etc. 解析 C++ 物質動態予測 日本全体のデータを収集 モデルに適用できる形に整理 モデルが吐き出した 日本全国・複数年 の値を整理 予測精度を 上げるために改良 研究の キモ 工夫とスキルが 必要不可欠!
  13. 13. Tech歴 • 2008年 C++で書かれたモデルをさわり始める – 「Cプログラミング入門以前」 – 「猫でもわかるC言語プログラミング」 – コーディングが「多少はできる」と思えるようになったのはつい 最近 • 2013年 研究で扱うデータ量が著しく増加 • 2014年 PHP, VBA, Fortran, PSQL, Python, R …
  14. 14. Tech Women Advent Calendar 2014 10日目
  15. 15. Tech Women New year’s party Lightning Talk 15 Jan. 2015
  16. 16. PyData = Python + Data 私の用途: 1. バイナリファイルの処理 – インプット・アウトプットデータの処理 – ファイルの分割、欠測値補完、値抽出、etc. 2. 数値計算 – 統計処理、回帰分析、 etc. Tech Women New year’s party Lightning Talk でこのスライドを使ったところ、バイナリラブな方 が世の中にいることを知りまして。
  17. 17. バイナリ 【 binary 】 バイナリデータ /【 binary data】 • IT関連では、コンピュータが扱えるよう2進法に則って 0と1の羅列(ビット列)として表現されたデータやその ような表現形式をバイナリという。 • また、そのようなデータのうち、テキスト(文字)形式で はない任意のデータ形式のこと。 IT用語辞典 e-Wordsよりこっちの意図でした。 「バイナリ」を名乗って申し訳ありませんでした。 専門用語はちゃんと調べてから利用しなければと反省しました。 Eさん、バイナリ愛について教えてくださってありがとうございました。
  18. 18. Python初心者の私でも あっというまにできたファイル処理 5月26日 Pythonスタート(CentOS6.6) 5月27日 コード1完成(10時間くらい) 5月27日 Psycopg2 (Python+PSQL)インストール 6月 5日 コード2完成(23時間くらい) 6月20日 コード3完成(18時間くらい) 自分のスキルレベルから考えると驚異の速度! 追加スライド
  19. 19. ハードルがぐっと上がった数値計算 • 何から手を付けていいか全くわからなかった • PyConJP2014チュートリアル「PyData入門」 池内孝啓氏((株)ALBERT, @iktakahiro)に参加 全くついていけなかった。 • 指示された関連ライブラリを一通りインストール 使えそうな気がしてきた。 • Rでなら書けるのにPythonでは書けない日々 Pythonの勉強会に参加した。 追加スライド
  20. 20. PyDataの基本ツール 1. Python 2.x系/3.x系 2. Numpy 3. pandas 4. Matplotlib 5. Ipython/Ipython notebook 6. Sympy 7. Scikit-Learn 8. SciPy プレゼン準備中に知った。
  21. 21. PyDataの基本ツール 1. Python 2.x系/3.x系 – Linux系PCには最初からインストールされている – 3系で問題ない by @iktakahiro – 自分自身は結果的に両方使ってしまっている。 • あまりよいやり方ではない? • 3系の方がやはり利用できるツールは多い • バージョン依存を実践で学べるというメリットはある コマンドラインでpythonと打ったら起動
  22. 22. PyDataの基本ツール 2. Numpy – Numerical Python – Pythonで科学計算をするためのパッケージ – 強力な多次元配列オブジェクト – C, C++, FORTRANのコードとPythonを結合・統合する ツール – 線形代数、フーリエ変換、乱数発生 – データの格納・操作が効率的 – 配列の数学的演算を行う関数 http://www.numpy.org/
  23. 23. PyDataの基本ツール 3. pandas – panel data + Python data analysis – Pythonのデータ分析ライブラリ – 様々なフォーマットのファイルからのデータ読み書き • CSV, txt, Excel, SQLデータベース等 – DataFrame • 2次元の表形式・列指向のデータ構造オブジェクト http://pandas.pydata.org/
  24. 24. PyDataの基本ツール 3. pandas – DataFrame • データの並び替え、欠損値の取り扱い、再形成、スライス、 ダイシング、集約、部分集合の選択が容易 • Rのdata.frameと似ているがより多機能らしい http://pandas.pydata.org/
  25. 25. PyDataの基本ツール 4. Matplotlib – Mathematical + plot + library ? – Python向け2D描画ライブラリ – グラフ等データの可視化 – MATLABライクなインターフェイス http://matplotlib.org/
  26. 26. PyDataの基本ツール 5. IPython/IPython notebook – Pythonを対話的に実行するためのシェル – Pythonのシェルを拡張したもの • 型推定の強化 • コードハイライティング、タブによる補完 • Python用に開発されたが他の言語でも使える – IPython notebook http://ipython.org/
  27. 27. PyDataの基本ツール 5. IPython/IPython notebook – IPython notebook – ウェブブラウザ上で動作 – インラインで図の表示も可能 ☞ コードと結果がブラウザ上で同時に見られるため 試行錯誤しながら数値計算するのにお勧め ☞ メモもできるので研究ノート的な使い方も http://ipython.org/
  28. 28. PyDataの基本ツール 6. Sympy – 記号計算ライブラリ • eとかpiとか∞を記号として扱える – 日本語の詳しいサイト http://turbare.net/transl/scipy-lecture- notes/advanced/sympy.html 私はまだ使ったことがないけど、 複雑な数値計算に役立ちそう。 http://www.sympy.org/en/index.html
  29. 29. PyDataの基本ツール 7. Scikit-learn – 機械学習ライブラリ 利用していないのでわかりません
  30. 30. PyDataの基本ツール 7. SciPy – 科学計算のためのオープンソースソフトウェアのコレクション – SciPyライブラリ • 数値計算ルーティーン – SciPy Stack core packages =Python + NumPy + SciPy library +Matplotlib +pandas + Ipython +SymPy + nose nose=テストフレームワーク http://www.scipy.org/ ☞ バージョンにこだわらなければ SciPyでOK?
  31. 31. インストール 2台のWindowsマシンにPyDataツールをインストールした時の感想 1. ライブラリの個別インストール • チュートリアルで個別インストールの指示があったため • 個別インストールできたがそれなりの時間がかかった 2. Python(x, y) • 学術研究用途に特化したディストリビューション • プラグインとして多くのライブラリがインストールされる • インストールに時間がかかるため手間感は1と同じ • ライブラリのバージョンが最新ではない https://code.google.com/p/pythonxy/ ディストリビューションとしてはanacondaとかも。
  32. 32. Python(x, y)のPlugins 185?!
  33. 33. iPython notebookを使ったデモ http://nbviewer.ipython.org/github/nobolis/PyLadies03_ demo/blob/master/PyLadies3_demo_v2.ipynb
  34. 34. ここ重要。 iPython notebookを終了するときはControl-C (確認不要な時はControl-Cを2回)
  35. 35. Python csvkit • Python csvkit – pyhackで@atelierhide氏が紹介 – @iktakahiro氏がPython Advent Calendar 2014 24日目の記事で紹介 – コマンドラインでCSVやTSVファイルを取り扱える便利 なライブラリ https://csvkit.readthedocs.org/en/0.9.0/ Python mini-hack-a-thonでプレゼンを見て、 おお!これは!と思ったのでシェア
  36. 36. 参考文献
  37. 37. Thank you for your attention !

×