配列(ndarray)

ndarrayはnumpyで定義できる配列オブジェクトです。非常に色々な場面で使用されるオブジェクトで、numpyの各種関数を使うときはもちろんのこと、SciPyやmatplotlibなどの他のモジュールを使うときにもndarrayでデータをやり取りしたりします。

概要

ndarrayの主な特徴を下記に示します。

  • 全要素のデータ型(整数、浮動小数点など)は全て同じである。
  • 大きさは固定されている。
  • ループ文(forやwhile)を使わずに全要素の演算をすることができ、演算速度も高速である。(参考:ブロードキャスティング)
  • 部分的に要素を取り出して扱う方法が多く備わっており、アイデア次第で色々便利な使い方ができる。(参考:スライス、インデキシング、マスキング)
  • 各種関数のパラメータとして使われる。

補足:Pythonリストと比べると、データ型が要素ごとに変えられず、大きさも固定である点で若干の不便さはありますが、ndarrayは全要素を対象とした演算を行う場合の速度が圧倒的に高速です。

オブジェクトの作成

ndarrayの作成関数は沢山ありますが、基本的なものを下表にまとめました。

関数機能
numpy.zeros全要素が0の配列を作成
numpy.ones全要素が1の配列を作成
numpy.full全要素が指定値の配列を作成
numpy.arrayリストやタプルで値を指定して配列を作成
numpy.arange公差を指定して等差数列の配列を作成
numpy.linspace要素数を指定して等差数列の配列を作成
numpy.logspace等比数列の配列を作成
(初項と最終項を底とべき指数を指定)
numpy.geomspace等比数列の配列を作成
(初項と最終項と要素数を指定)