1.6. ヘルプを見る、ドキュメントを探す¶
著者: Emmanuelle Gouillart
Numpy と Scipy に含まれる全ての関数について知っているよりも、ドキュメントや利用できるヘルプからすぐに欲しい情報を見つけられるほうが重要です。ここではいくつかの情報入手方法を扱います。
Ipython では
help function
で関数の doctsring が開きます。関数の名前の最初の部分をタイプしてタブ補完を利用することでマッチする関数を表示できます。In [204]: help np.v np.vander np.vdot np.version np.void0 np.vstack np.var np.vectorize np.void np.vsplit In [204]: help np.vander
Ipython ではヘルプとドキュメント用に別のウィンドウを開くことができませんが、いつでも別の Ipython
シェルを起動してヘルプやドキュメントを表示できます。
Numpy と Scipy のドキュメントはオンラインで http://docs.scipy.org/doc で見ることができます. パッケージのリファレンスドキュメント (http://docs.scipy.org/doc/numpy/reference/ と http://docs.scipy.org/doc/scipy/reference/) 内の
search
ボタンは非常に有用です。この web サイトで様々な話題のチュートリアルや docstrings を含む API 一式を見ることができます。
Numpy と Scipy のドキュメントはユーザによる Wiki http://docs.scipy.org/doc/numpy/ をもとにして補強, 更新されています。なので、より明解で詳細なドキュメンテーション文字列を wiki で見つけられるかもしれません、そして公式のドキュメントの Web サイトの代わりに Wiki のドキュメントを直接見たいと思うかもしれません. Wiki のアカウントは誰でも作れるので, 誰でもよりよいドキュメントを書くことができます. ドキュメントの改善はオープンソースプロジェクトに協力して, 自分で使っているツールを改善する最も簡単な方法です!
Scipy central http://central.scipy.org/ には共通してよく遭遇する問題、データのフィッティング、ODE を解く等のレシピがおかれています。
Matplotlib の web サイト http://matplotlib.org/ にはたくさんの作図例があり、その一つ一つがソースコードとその結果を示していて、とても素晴しい ギャラリー が取り上げられています。ここは例から学ぶのにとても便利です。より標準的なドキュメントも入手可能です。
最後に、2つのより “技術的” な候補も同様に便利です。
Ipython では magical function
%psearch
でパターンにマッチするオブジェクトを検索します。これは、例えば関数の厳密な名前を知らない場合に便利です。In [3]: import numpy as np In [4]: %psearch np.diag* np.diag np.diagflat np.diagonal
numpy.lookfor は指定したモジュールの docstrings 内部のキーワードを探します。
In [45]: numpy.lookfor('convolution') Search results for 'convolution' -------------------------------- numpy.convolve Returns the discrete, linear convolution of two one-dimensional sequences. numpy.bartlett Return the Bartlett window. numpy.correlate Discrete, linear correlation of two 1-dimensional sequences. In [46]: numpy.lookfor('remove', module='os') Search results for 'remove' --------------------------- os.remove remove(path) os.removedirs removedirs(path) os.rmdir rmdir(path) os.unlink unlink(path) os.walk Directory tree generator.
上に挙げた全ての方法を試しても(さらに Google で答えがなかった場合)、情報が得られなかった場合もあきらめないで! 問題にあったメーリングリストにメールを書いてみましょう: 問題を適切な形で書けばすぐ解答を得ることができるでしょう. メーリングリストでは Scientific python のエキスパート達がしばしば教育的な説明してくれています。
Numpy discussion (numpy-discussion@scipy.org): numpy の配列、配列の操作、インデクスに関する質問についてなど
SciPy Users List (scipy-user@scipy.org): Python での科学技術計算、高レベルなデータ処理、特に scipy パッケージについて
matplotlib-users@lists.sourceforge.net matplotlib での作図について。