Help us understand the problem. What is going on with this article?

Python Data Science Handbook を和訳してみる

公開しつつ書き足し書き足し、、、

Pythonデータサイエンスハンドブック
(Python Data Science Handbook)

1. IPython:Pythonより優れた Python
(IPython: Beyond Normal Python)

Pythonの開発環境には多くの選択肢があり、自分の仕事でどれを使うか私もよく悩む。
それに対する私の答えはときどき人々を驚かせる。
私の好む環境はIpythonとテキストエディタを併せて使うことだ。
(私の場合、EmacsとAtomを気分によって使い分けている)
Ipython(Interactive Python の略)は2001年にFernando Perezによって拡張pythonインタプリタとして開発され、「リサーチコンピューティングのライフサイクル全体のためのツール」を産み出すことに焦点をあてたプロジェクトへ成長してきた。
pythonが我々のデータサイエンスのタスクのためのエンジンであるならば、
Ipythonはインタラクティブなコントロールパネルであると捉えることができる。

Ipythonは、有用なpythonのインタラクティブインターフェースであると同時に、多くの有用な(文法的)(拡張)機能をもたらしている。(そのなかでも特に有用なものが以下である。)
加えて、Ipythonは我々の開発、共同作業、共有、データサイエンスの結果の発表に役立つブラウザベースのノートブックを開発しているJupyterProjectと密接なかかわりがある。
IpythonノートブックはJuliaやRやその他のプログラミング言語用のノートブックを含む、数あるJupyter notebook群のなかでも特殊なケースである。
ノートブック形式の便利さを示す例として、いまあなたが読んでいるページ以外になにも見る必要がないことが挙げられる。この本の原稿のすべてが1組のIpythonノートブックで構成されているからである。

IPythonは対話的な科学的、データ集約型コンピューティング(data-intensive computing)のための効果的なpythonの使い方である。まずこの章は、データサイエンスに有用ないくつかのIpythonの機能(特にIpythonがpythonの基本的な機能の範囲を超えて提供する文法)に足を踏み入れることからはじまる。次に、私たちはさらに有用な、データサイエンスのプログラムを作ったり使ったりする日常のタスクを加速させることのできる"マジックコマンド"のいくつかの世界へと踏み込みます。最後に、データを理解し、結果を共有するのに役立つノートブックの特徴のいくつかに触れていく。

シェルかノートブックか?

この章で議論するIpythonの使い道には2つある。IpythonのシェルとIpythonのノートブックだ。この章で扱う内容の大半はこの両方に関連があり、提示する例はどちらが便利かによって切り替えられるだろう。わずかに、どちらかにしか関連のない部分もあるが、そのときは明示的にそのことを述べる。はじめるまえに、IpythonシェルとIpythonノートブックの起動のしかたについて述べる。

Ipythonシェルの起動

この章は、(この本の大半がそうだが、)受動的に身につくようにはできていない。この章を読みながら、自分でも文法やツールを使って体験してみることをおすすめする。これによって得られるマッスルメモリーは、単にこの章を読んで得られるものよりもはるかに有用である。
コマンドラインでipythonと打ち込み、Ipythonを起動することからはじめよう。AnacondaやEPDをインストールしている場合はそれに適したランチャーがあるはずだ。

打ち込むと、以下のようにプロンプトに表示されるはずだ。

IPython 4.0.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.
In [1]:

これで、次へすすむための準備ができた。

JupyterNotebookの起動

JupyterNotebookはブラウザベースのIPythonのGUIであり、さらに動的に表示する機能の豊富なセットを持っている。Python/IPythonの構文を実行できるのに加え、ユーザーはノートブックの中に、フォーマット済みテキスト、静的or動的視覚効果、数式、JavaScriptウィジェット、などを含めることができる。そのうえ、これらのドキュメントは、他の人が自身で実行できる形式で保存することができる。

webブラウザウィンドウでIPythonノートブックの閲覧・編集ができるが、pythonのコードを実行するためにwebブラウザをpythonプロセスと接続する必要がある。このプロセス(カーネルとも呼ばれている)はシェルで以下のコードを実行することで起動できる。

$ jupyter notebook

このコマンドは、自身のブラウザで見れるローカルwebサーバを起動する。このサーバがなにをしているかのログがすぐに吐き出される。以下のように。

$ jupyter notebook
[NotebookApp] Serving notebooks from local directory: /Users/jakevdp/PythonDataScienceHandbook
[NotebookApp] 0 active kernels 
[NotebookApp] The IPython Notebook is running at: http://localhost:8888/
[NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

このコマンドの実行後、デフォルトに設定されているブラウザが自動的にローカルURLを開き誘導してくれるはずだ。(実際のアドレスは環境によって異なる。)
もし自動的にブラウザが開かない場合、手動で以下のアドレスに飛ぶことでウィンドウを開いてもよい。(今回の例ではhttp://localhost:8888/)

IPythonのヘルプとドキュメント

もしこの章で他の節を読まないつもりでも、この節だけは読んでほしい。
なぜならここで議論するツールが私のワークフローに対するIPythonの改善に最も貢献したことに気づいたからである。
技術志向の人が、コンピューターの困りごとについて友達・家族・同僚に助けを求められたとき、ほとんどの場合、その問題に対する答えを知っていることと同じくらい、素早く答えにたどり着く方法を知っていることが重要である。データサイエンスの世界でも同じである。オンラインの文書やメーリングリストのスレッド、StackOverflowの回答など、検索可能なwebリソースは豊富な情報を含んでいる。それがたとえ(あるいは特に)あなたが過去に検索したことのある話題だったとしても。ほんとうの専門家になることとは、あらゆる状況で使えるツールやコマンドをどれだけ覚えることよりむしろ、web検索エンジンでも、どれだけ効果的に自分の知らない情報を探し当てることができるかである。

IPython/Jupyterの最も有用な機能のひとつは、ユーザーとドキュメントの種類と作業を効率的に行うための検索の間のギャップを縮めることである。web検索がいまだに複雑な問題に対して答えを提示する役割を果たしていると同時に、IPythonのみを通して驚くべき量の情報を得ることができる。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした