『Pythonエンジニア養成読本』読書会便り ~基礎やTipsから質疑応答の内容まで~

第3回 PyData入門-Pythonでのデータ処理

この記事を読むのに必要な時間:およそ 5 分

はじめに

鈴木たかのりです。

前回に引き続きPythonエンジニア養成読本という書籍の読書会イベントについてレポートします。

第3回の読書会は7月23日(木)にアライドアーキテクツ株式会社の会議室で開催されました。

当日はだいたい以下のタイムテーブルで進めました。

  • 19:00-19:15 参加者の自己紹介
  • 19:15-21:00 ⁠第4章 PyData入門」
  • 21:00-22:00 ビアバッシュ(ビールとピザでの参加者懇親会)

今回も過去2回と同様に書籍の読みあわせはせず,ページ数の関係で削ったところや,出版後の追加情報を中心に解説を行いました。

写真1 Pythonエンジニア養成読本読書会03

写真1 Pythonエンジニア養成読本読書会03

自己紹介

いつものように参加者全員で自己紹介を行いました。全部で21名の方が参加してくださいました。

自己紹介の中では3回全て参加されている方から「集合知プログラミングのコードがだんだん読めるようになってきた」といううれしい進捗報告がありました。他にも「前回チーム開発でGitHubが紹介されていたので,アカウントを作ってまずはドットファイル(設定ファイル)をアップしてみた」という方もいました。今回が初参加の方もおり,会場を借りているアライドアーキテクツの新人の方や,4月に転職してPythonをはじめた方などが参加していました。

現在までの3回をフル参加している方も数名いて,この読書会に参加することでなにか面白いことや得るものがあるのかなと思い,開催者としては非常にうれしいです。

第4章 PyData入門

自己紹介のあとは,早速本題のPyData入門の解説に入りました。最初に著者の池内孝啓@iktakahiroから改めて自己紹介と今日の読書会でのポイントについて説明がありました。

写真2 池内孝啓(@iktakahiro)

写真2 池内孝啓(@iktakahiro)氏

自己紹介

ALBERTという会社で働いており,データ分析をしているそうです。データの前処理などの用途でPythonを使うようになったそうです。

また,コミュニティ活動としてはPyData.Tokyoのオーガナイザーをしているそうです。

昨年開催されたPythonのカンファレンスPyCon JP 2014のチュートリアルで,PyData入門の講師として行い,そこでいろんな出会いがありPyData.Tokyoを立ち上げたそうです。PyCon JP 2015は10月に開催予定です。つい先日トークの募集が締め切られ,機械学習,データ処理系のProposalが結構出ていたそうで注1)⁠今年も楽しみにしているそうです。

注1)
ぜひ,トーク一覧を参照して面白そうなトークがあったらFacebook/Twitter等でシェアしてください。シェアされた数が投票数として採用/不採用の参考になります。

最後に,今日の読書会ではPandasを中心に話し,他には紙面の都合で触れられなかった話をしたいとのことでした。また,出版後にPandasの新バージョン(0.16.2)がリリースされたので,アップデート情報についても触れるとのことです。

4-1 IPythonの使い方

この節ではIPythonの基本的な使い方について解説しています。

IPythonはPythonの対話モードをより強力にしたものです。IPythonでは以下の機能を備えています。

  • 補完:Tabを入力してモジュール名やオブジェクト名を補完できます
  • Magic Functions:%pwdと入力して現在のディレクトリ名を取得したり,%envで環境変数を取得できます
  • OSのコマンドライン環境との統合:!のあとにコマンドを入力するとOS上で実行してその結果を表示します
  • オブジェクトの確認:オブジェクト名の後ろに?をつけるとオブジェクトの型,長さ等の情報を表示します
  • Notebook:後述するIPython Notebookの機能を提供します

書籍を校正しているときにIPythonのバージョン3.0がリリースされましたが,差分の反映が間に合わないためバージョン2.4を対象としました。またインストール時に以下のようにしているのは,あとで出てくるIPython Notebookで使うためのモジュールもまとめてインストールするためです。

pipでIPythonをインストール

$ pip install ipython[notebook]==2.4.0

IPythonのNotebook以外の機能を利用した例は以下の様な感じです。

IPythonの利用例

In [1]: import r # ←ここで Tab を入力
random readline resource rfc822 rmagic runpy
re repr rexec rlcompleter robotparser
In [2]: %pwd
Out[2]: u'/home/pydata/pydata'
In [3]: !ls -l
total 8
drwxr-xr-x 25 pydata pydata 850 1 1 10:00 bin/
drwxr-xr-x 3 pydata pydata 102 1 1 10:00 include/
drwxr-xr-x 3 pydata pydata 102 1 1 10:00 lib/
-rw-r--r-- 1 pydata pydata 60 1 1 10:00 pip-selfcheck
In [4]: data = [1, 2, 3]

In [5]: data?
Type: list
String form: [1, 2, 3]
Length: 3
Docstring:
list() -> new empty list
list(iterable) -> new list initialized from iterable's items

ここで「コマンドラインでIPython使っている人はいるのか?」という質問がありました。会場ではコマンドラインで使っている人はあまりおらず,IPythonは以下の2パターンで使用している人が多いようでした。

  • IPython Notebookで使用している
  • IDE経由でIPythonを使用している

著者プロフィール

鈴木たかのり(すずきたかのり)

部内のサイトを作るためにZope/Ploneと出会い,その後必要にかられてPythonを使い始める。

現在の主な活動はPyCon JP 2015座長,一般社団法人PyCon JP理事,Python ボルダリング部(#kabepy)部長,Python mini Hack-a-thon(#pyhack)主催,Plone User's Group Japanなど。

共著書に『Plone完全活用ガイド(2008 技術評論社刊)』『Plone 4 Book(2011 Talpa-Tech刊)』『Pythonプロフェッショナルプログラミング 第2版(2015 秀和システム刊)』『Pythonエンジニア養成読本(2015 技術評論社刊)』がある。

趣味は吹奏楽とレゴとペンシルパズル。

Twitter:@takanory

Facebook:鈴木 たかのり

サイト:takanory.net

コメント

コメントの記入