English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
NumPyの前身であるNumericは、Jim Huguninと他の協力者たちによって最初に開発されました。2005 年、Travis OliphantはNumericで別の同様のプログラムライブラリNumarrayの特徴を統合し、他の拡張を加えてNumPyを開発しました。NumPyはオープンソースであり、多くの協作者によって共同で保守および開発されています。
NumPyパッケージの核心はndarrayオブジェクトです。これにより、Pythonの原生の同データタイプのn次元配列をエンキャップし、その性能が優れていることを保証するために、多くの操作がローカルでコンパイルされたコードとして実行されます。
NumPy配列と原生Python Array(配列)の間にはいくつかの重要な違いがあります:
NumPy配列は作成時に固定サイズを持っており、Pythonの原生配列オブジェクトとは異なり、ndarrayのサイズを変更すると新しい配列が作成され、元の配列は削除されます。NumPy配列の要素は同じデータタイプを持たなければならず、そのためメモリ内のサイズも同じです。NumPy配列は、大量のデータに対して高度な数学的および他の種類の操作を行うのに役立ちます。通常、これらの操作の実行効率が高く、Pythonの原生配列を使用するコードよりも少ないコードで実現できます。ますます多くのPythonに基づく科学や数学のソフトウェアパッケージがNumPy配列を使用しており、それらは処理する前に入力の配列をNumPyの配列に変換します。
NumPyチュートリアルを開始する前に、基本的なPythonの基礎を身につける必要があります。このウェブサイトではPython3.xバージョン、Pythonについてまだ知らない場合は、私たちのPythonチュートリアル
Pythonでは、配列機能を満たすリストがありますが、処理速度が遅いです。NumPyは、伝統的なPythonリストよりも速く 50倍の配列オブジェクト。NumPyにはndarrayと呼ばれる配列オブジェクトがあり、ndarrayを利用するのが非常に簡単にするための多くのサポート関数を提供します。配列はデータサイエンスで非常に常用であり、スピードとリソースが非常に重要です。データサイエンスは、情報を得るためにデータの保存、使用、分析を研究するコンピュータサイエンスの一部です。
リストとは異なり、NumPyの配列はメモリの連続的な位置に格納されているため、プロセスは非常に効率的にアクセスおよび操作できます。
この動作はコンピュータサイエンスでは参照の局所性と呼ばれます。
NumPyがリストよりも速い主な理由はこれです。それに加えて、最新のCPUアーキテクチャとともに最適化されています。
NumPyは通常SciPyと一緒に使用され、この組み合わせはMatLabの代替として広く使用されており、Pythonを通じてデータサイエンスや機械学習を学ぶのに役立ちます。SciPyは、オープンソースのPythonアルゴリズムライブラリおよび数学ツールキットです。SciPyには、最適化、線形代数、積分、補間、特別関数、高速フーリエ変換、信号処理および画像処理、常微分方程式の解、および科学および工学でよく使用されるその他の計算が含まれています。Matplotlibは、Pythonプログラミング言語および数値数学の拡張パッケージNumPyのビジュアル操作インターフェースです。一般的なグラフィカルユーザインターフェースツールキットを使用しています。
NumPy 公式サイト:http://www.numpy.orgNumPy ソースコード:https://github.com/numpy/numpySciPy 公式サイト:: https://www.scipy.orgSciPy ソースコード:: https://github.com/scipy/scipyMatplotlib ソースコード:: https://matplotlib.orgMatplotlib ソースコード:: https://github.com/matplotlib/matplotlib
# 1、パッケージのインストール $ pip install numpy # 2、Pythonのインタラクティブシェルに入る $ python -i # 3、Numpyを使用 >>> from numpy import * >>> eye(4) # 4、出力結果 array([[1., 0., 0., 0.], [0., 1., 0., 0.], [0., 0., 1., 0.], [0., 0., 0., 1.]])