scipy入門


データ科学者は、いろいろな異なる分野で彼ら自身を示す問題の多数を経験します.我々はプロットを生成することからデザインの問題に対処する必要がありますかのいずれかを試してみて自分自身の関係を参照したり、サードパーティに提示します.我々はデータクリーニング、組織化、補間、分析を行う必要があります.我々は、必要な情報を取得するAPIを動作します.そして、多くの他のものの間で、我々はデータを分析して、解釈するために、統計を使います.それらは長くて風の良い方法でされることができるすべてのものですが、されなければならない仕事を容易にするためにツールとライブラリを作成する人々がいます.今日は特に一つについて話します.

シギ


Scipy、賢明なため息パイは、私たちの生活を容易にするように設計された数学的アルゴリズムのコレクションを持っているオープンソースのPythonライブラリです.基本的に、大きくて複雑な科学的な数式を書く代わりに、Scipyはあなたをカバーしました.現在のライブラリは、独立してインポートすることができ、異なるユーティリティを持つことができる15のサブパッケージが含まれています.以下の通りです.

  • cluster : クラスタリングアルゴリズムは、情報理論、ターゲット検出、通信、圧縮、その他の分野で有用です

  • constants : 数学と物理定数の数を提供し、変換単位の変換.

  • fft : 高速Fourier変換、離散的なsinと余弦変換、高速Hankel変換、ヘルパー関数とバックエンドコントロール

  • integrate : 積分方程式と常微分方程式ソルバ

  • interpolate : 内挿に使用されるオブジェクトのためのサブパッケージ

  • io : 異なる種類のファイルを読み書きするモジュール

  • linalg : 線形代数モジュール

  • ndimage : 多次元画像処理のための関数

  • odr : 直交距離回帰

  • optimize : 目的関数最小化機能

  • signal : 信号処理機能

  • sparse : 数値データのための2‐D疎行列パッケージ

  • spatial : 空間アルゴリズムとデータ構造

  • special : このパッケージは、あなたにかなりの量の数学的な機能を提供します.利用可能なものが含まれます:airy、ベッセル、ベータ、超幾何学、Mathieuとケルビン

  • stats : 統計関数は、周波数統計、相関関数と統計テスト、マスク統計と他の多くで動作するように.
  • これらのサブパッケージを使用する最良の方法は、例えば別々にインポートすることです.
    >>> from scipy import stats
    

    歴史


    バージョン0.1は2001年に最初に書きました、バージョン1.0.0だけが2017年にリリースされるだけでした.今、彼らはバージョン1.7.3で、定期的な更新を行います.コードは科学者たちによって書かれています.科学者にとって、使いやすいツールのセットを与えてくれます.そのクリエイターの一つであるTravis OliphantもNumpyの作成者であり、数値とNumArrayデータをマージした.拡張モジュールの増加と科学技術計算のためのより完全な環境の必要性の高まりに伴い、2001年にトラヴィスはエリック・ジョーンズとピーアール・ピーターソンと協力してバージョン0.1を作成した.これにより、scipyはnumpyによって提供される数値配列データ構造体の上に動作します.そこから、プロジェクトだけが育った.バージョン1.0.0の121の貢献者の合計があった.現在のところ、BSD license そしてそれは開発者のオープンコミュニティによってサポートされて開発です.彼らGitHub repository SCIPYに貢献するのを助ける方法に関する情報があります、そして、将来の彼らの計画は何ですか.図書館が統合したアプリケーションは、高校教育に使われていることから2017 Physics Nobel Prize winners 「LIGO検出器と重力波の観測への決定的な貢献のために」.一部は見ることができるhere and this あなたがJupyterノートブックを見つけて、行動中のコードのいくつかを見ることができるGithubリポジトリです.

    競争


    Numpy - ScipyはNumpyの上に構築されているが、それのすべての機能を持って、Numpyは、基本的な配列の概念だけを扱うときにより良い選択をすることができます.Pythonは強力で柔軟な言語ですが、場合によっては最速ではないかもしれません.numpyはCで書かれています.
    MATLAB -これはPythonのようなオブジェクト指向ではなく、配列指向です.これは、数学的かつ技術的なコンピューティングを行う科学者のための簡単で生産的な環境になり、行列操作のための素数.それは、プログラミングのために作られた言語ではありません.そして、それはより多くの柔軟性を要求する問題に対処するとき、それを非常に不明瞭にします.
    TenserFlow -数値計算のための別のオープンソースライブラリは、マシンの学習と人工知能を掘り下げます.TencserFlowは本当に速いので、コアはC +の、Pythonとcudaの組み合わせで書かれているので.ここでのトレードオフは、TenserFlowを使用し、デバッグするのが難しいと考えられます.
    これらはいくつかのライブラリ、ツール、またはいくつかのscipyの同じ機能を持っている言語のいくつかのわずかだった.彼らがすべて異なったものをするように設計されているので、それらの間の全体的な比較をするのは難しいです.インhere たとえば、いくつかの数値解析ソフトウェア(scipyを含む)の間で比較を見つけることができますhere 別の統計パッケージ(scipyを含む)の比較を見つけることができます.ほとんどすべての彼らはより良い、より速く、または特定のプログラムとのより良い互換性を持つことができる何かを持っていますが、彼らはまた、すべての欠点を持っている場合は、Pythonとscipyを使用して比較する.自分がやりたいプロジェクトに対して何が良いかを自分で決めなければならない.

    資源


    Pythonまたはそれのツールとライブラリの使用の主な利点の1つは、Pythonが一貫して使用されている最も一般的な言語の中です.これは単純な構文と汎用性は初心者のための共通のエントリポイントになります.これは、ユーザーのベースをより多くの毎年成長します.Pythonはオープンソースなので、パッケージのように多くのように(scipy含まれている)、それは改善の作業をプログラマの常に増加している.それはより良いツール、より多くの用法を作ります、より良いドキュメンテーションを忘れないようにしましょう.インSciPy documentation page サブパッケージで区切られたツールの使い方についての豊富な情報を見つけることができます.
    Pythonは、スタックオーバーフローの中で最も話題の作品を持つプログラミング言語であるため、主要なパブリックによっても作成されるコンテンツがたくさんあります.学校、個人、および有料のウェブサイトによって作られたチュートリアルがあります.ここにいくつかの無料のものをリストします.
  • W3 School SciPy Tutorial
  • TutorialsPoint SciPy Tutorial
  • Javat Point SciPy Tutorial
  • 私のお気に入りのうちの1つは、本当のPythonウェブサイトでなければなりません.scipyに関して、彼らは以下の上で非常に記述的で教訓的な記事でより深い情報を持っています:
  • Fourier Transforms
  • Linear Algebra
  • Optimization
  • Statistics
  • 私が言いたいことは、もしあなたがscipyを学ぼうとしているならば、あなたはおそらく資源を使い果たすつもりはないでしょう.そして、あなたがするならば、ちょっと思い出してください、あなたは常に尋ねることができます.help ()