numpy配列・とは?初心者向けの使い方と基本解説共起語・同意語・対義語も併せて解説!

  • このエントリーをはてなブックマークに追加
numpy配列・とは?初心者向けの使い方と基本解説共起語・同意語・対義語も併せて解説!
この記事を書いた人

高岡智則

年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)


numpy配列・とは?初心者向けの解説

Pythonにはデータを格納する方法としてリストがあります。ですが、数値を大量に扱う場合には「numpy」というライブラリが強力な味方になります。特に numpy配列 は、同じデータ型の要素を連続して格納する特別なデータ構造で、数値計算を早く、メモリの使い方も効率的にしてくれます。ここでは中学生にも分かるように、numpy配列の基本を丁寧に解説します。

まず基本のポイントを押さえましょう。numpy配列は公式には ndarray(n-dimensional array)と呼ばれ、多次元配列を表します。1次元はベクトル、2次元は行列、3次元以上はテンソルと呼ばれることもあります。いずれも同じデータ型の要素を格納でき、要素にアクセスするにはインデックスを使います。

リストと比べての大きな特徴は、ベクトル化された演算がサポートされている点です。例えば a = numpy.array([1, 2, 3]) とすると、a * 2 は [2, 4, 6] のように同じ形の新しい配列が返ってきます。これは for ループを使うよりもはるかに速く、特に大きなデータを扱うときに効果を発揮します。さらに numpy はブロードキャストと呼ばれる仕組みを使い、形が違う配列同士でも自動的に計算を拡張してくれる場面があります。

作り方と基本的な例

最初の一歩として、次のようにインポートして配列を作ります。として 1次元の配列と 2次元の配列を作ってみましょう。
import numpy as np; a = np.array([1, 2, 3, 4, 5]); b = np.array([[1, 2, 3], [4, 5, 6]])

配列の形と次元の意味

次元説明
1次元1(3,)3つの要素を持つ1次元配列
2次元2(2,3)2行3列の配列
3次元3(2,2,2)2×2×2の多次元配列

基本的な操作

インデックスとスライスを使えば配列の一部を取り出せます。例えば a = np.array([10, 20, 30, 40, 50]) の場合、a[0] は 10、a[1:3] は [20, 30] になります。負のインデックスも使え、a[-1] は最後の要素の 50 です。

ブロードキャストにより、形が合えば異なる形の配列同士の演算も可能です。これにより複雑な計算を短い式で表すことができます。

総和と平均のような集約演算も簡単です。例えば a.sum() や a.mean() のように呼ぶと、配列内の全要素の総和や平均値が返されます。2次元配列の場合は axis という軸を指定して列ごとや行ごとに計算することもできます。

よくある落とし穴と注意点

配列は同じデータ型の要素で構成されることが前提です。異なる型を混ぜて作ると自動的に型が揃えられ、意図しない結果になることがあります。もう一つの注意点は「ビューとコピー」です。ある配列を別の変数に代入しただけだと、両者は同じデータを参照します。片方を変更するともう一方にも影響します。必要なときは copy() を使ってコピーを作成しましょう。

インストールと導入

基本的には pip または conda を使って numpy を導入します。コマンドは次のとおりです。
pip install numpy; conda install numpy

導入が済んだら Python での使用はとても簡単です。
import numpy as np; a = np.array([1, 2, 3])

実務での使い方のコツ

データ分析や科学計算では、リストをそのまま使うよりも numpy 配列を用意しておくと計算が速くコードもすっきりします。データの形状を最初に確認することが大切です。配列の形状を確かめるには a.shape を使います。2次元の表を扱うときは行数と列数の感覚を意識しましょう。

まとめと次のステップ

この記事で学んだことを踏まえると、numpy配列は Python でのデータ処理の核となるツールだと分かります。ndarray の基本を理解し、形状、インデックス、ブロードキャスト、基本演算を使いこなせば、次の機械学習やデータ分析にも挑戦しやすくなります。初めのうちは小さな配列で練習し、徐々に多次元配列や高度な関数へと進めていくのが良いでしょう。


numpy配列の同意語

numpy配列
NumPyが提供する基本のデータ構造。多次元のデータを格納するオブジェクトで、主に ndarray 型として使われます。
NumPy配列
NumPyが提供する基本のデータ構造。多次元のデータを格納するオブジェクトで、主に ndarray 型として使われます。
numpy ndarray
NumPyのndarrayクラスを指す表現。n次元のデータを格納する配列オブジェクトです。
NumPy ndarray
NumPyのndarrayクラスを指す表現。n次元のデータを格納する配列オブジェクトです。
numpyアレイ
NumPyで扱う配列を指す日本語表現。アレイは array の和訳です。
NumPyアレイ
NumPyで扱う配列を指す日本語表現。アレイは array の和訳です。
ndarray
NumPyのndarrayクラスそのもの。一次元以上の多次元配列を表す基本データ型です。
ndarray型
ndarrayという型。NumPyで配列を表す中心的なデータ型です。
NumPyの配列
NumPyライブラリが提供する配列データ構造。インデックス指定や演算が可能なオブジェクトです。
NumPyの多次元配列
NumPyで扱える次元数が複数ある配列。形状は (次元ごとの長さ) で表されます。
多次元配列
1次元以上の配列を指す用語。NumPyではn次元配列の総称として使われます。
N次元配列
英語の N-dimensional array の日本語表記。NumPyで扱われる多次元データの基本形です。
N-dimensional array
英語表現。NumPyの基本的なデータ構造である n 次元配列を指します。
アレイオブジェクト
NumPyの配列を指す一般的な名称。arrayオブジェクトと同義に使われます。
NumPyアレイオブジェクト
NumPyで作られる配列オブジェクト。主に ndarray を指す表現です。
arrayオブジェクト
配列を指す英語表現。NumPyの配列にも用いられます。

numpy配列の対義語・反対語

スカラー値
NumPy配列は複数の要素を格納できる多次元のデータ構造ですが、スカラー値は1つの数値だけを表します。要素数を持たない、単一の値という点が対照的です。
単一値
1つの値だけを表すデータ。NumPy配列のような複数要素を持つ構造ではありません。
Python標準リスト
Pythonの標準ライブラリで用いられる可変長の要素列。NumPy配列と比べて機能は限定的ですが、柔軟で扱いやすいです。
Pythonタプル
要素を変更できない不変のシーケンス。NumPy配列より単純で、計算機能は少ない代わりに軽量です。
Python辞書
キーと値を組み合わせてデータを格納する連想配列。配列とは別のデータ構造で、要素は順序付きの集合ではありません(順序は保証されないことが多い)。
データフレーム
表形式のデータを列と行で管理する2次元データ構造。ラベル付きの列を持ち、NumPy配列より高度なデータ操作が可能ですが、内部では配列を使います。
パース配列
ほとんどの要素がゼロや空値である疎なデータを効率的に格納する形式。密なNumPy配列の反対で、用途が異なります。

numpy配列の共起語

ndarray
NumPyの多次元配列を表す基本オブジェクト。shapeやdtypeを持ち、要素を格納します。
np_array
NumPyで配列を作成する基本関数。np.array を使ってリストやタプルから配列を生成します。
shape
配列の各軸の長さを表すタプル。例: (3, 4) は3行4列を意します。
ndim
配列の次元数。例: 2次元なら2。
size
配列全体の要素数。shapeの各軸の長さを掛け合わせた値です。
dtype
配列の要素のデータ型。例: float64, int32, bool など。
itemsize
1要素のバイト数。dtypeによって決まります。
data
内部データの生データ領域への参照。ビューやコピーの基点になることがあります。
indexing
要素へアクセスする基本的な操作。整数インデックスやブールインデックスを使います。
slicing
スライスを使って部分配列を取り出す操作。コロン : を用いて範囲を指定します。
slice_syntax
例: a[1:3, :] は2〜3行目の全列を取り出します。
reshape
配列の形状を変更する。データの順序は保持され、サイズは変わりません。
transpose
軸を入れ替える操作。転置を作るには .T や transpose() を使います。
axis
演算や集計の対象となる軸を指定する概念。0 が行、1 が列などと呼ばれます。
broadcasting
形状の異なる配列同士を自動的に拡張して演算できる仕組み。
ufunc
要素ごとの高速演算を提供するユニバーサル関数群。例: add, subtract, sqrt など。
dot
行列積を計算する関数。ベクトルの内積や行列の掛け算に使われます。
matmul
マトリックス乗算を行う関数・演算子。@ でも利用します。
concatenate
複数の配列を結合して1つの配列にします。
stack
配列を新しい軸のもとに積み上げて結合します。
split
配列を指定した区間で分割します。
flatten
多次元配列を1次元に平坦化します。コピーを返すことが多いです。
ravel
1次元配列に平坦化します。必要に応じてビューになることもあります。
tolist
NumPy配列をPythonのリストへ変換します。
astype
データ型を別のdtypeへ変換します。
zeros
全要素が0の配列を作成します。
ones
全要素が1の配列を作成します。
empty
初期化されていない値を含む配列を作成します。
arange
開始値から等間隔で数列を生成します。
linspace
指定区間を等間隔で分割して数列を生成します。
copy
配列の値を新しい領域にコピーして独立した配列を作成します。
view
同じデータを別の形で参照するビューを作成します。
order
メモリ上のデータの並び順。C順(行優先)または F順(列優先)を指定します。
boolean_indexing
ブール値を使って条件に合う要素を抽出します。
fancy_indexing
整数のインデックス配列を使って要素を取り出します。
np_alias
numpyをインポート時に np と略して使う慣習。

numpy配列の関連用語

ndarray
NumPyの中核となる多次元配列オブジェクト。すべての要素は同じデータ型で格納され、高速な数値演算の基盤となります。
shape
配列の各次元の長さを表すタプル。例: (3, 4) は3行4列です。
ndim
配列の次元数。0次元はスカラー、1次元はベクトル、2次元は行列など。
size
配列の全要素数。shapeの積で求められます。
dtype
要素のデータ型を表すオブジェクト(例: int64, float32, bool)。
itemsize
1要素のバイト数。
nbytes
配列全体のメモリ使用量(バイト数)。
T
転置。配列の転置を返す属性。
transpose
配列を転置する関数。軸の順序を並べ替え、要素を再配置します。
reshape
配列の形状を変更する。合計要素数は一定でなければなりません。
ravel
配列を1次元に平坦化します。通常はビューになる場合が多いです。
flatten
配列を1次元に平坦化します。通常は新しいコピーを返します。
squeeze
長さが1の次元を削除して形状を圧縮します。
expand_dims
新しい次元を追加して形状を拡張します。
axes
複数の軸を表す集合。
axis
操作の対象となる軸を指定する引数。
indexing
配列から要素を取り出す操作の総称。
slicing
スライス構文で部分配列を取り出す方法。
boolean indexing
ブールマスクを使って要素を選択します。
fancy indexing
整数配列などを使って要素を柔軟に選択します。
integer indexing
整数のインデックスを使う基本的な要素抽出。
ellipsis
省略記号 ... を使って次元を省略して表現します。
where
条件に基づき要素を選択・置換する関数。
mask
True/False のブール型マスク配列。
broadcasting
形状の異なる配列を自動的に整形して同時演算を可能にする機能。
ufunc
ユニバーサル関数。要素ごとに演算を適用する高速関数群。
vectorization
ループを回さずに配列演算を行う高速化の考え方。
astype
データ型を別の型へ変換します。
asarray
入力をndarrayに変換します。元のデータを維持する場合があります。
array
新しいndarrayを作成する基本的な関数。
view
元データと同じメモリを参照する別のビューを作成します。
copy
データを新しい配列としてコピーします。
inplace
演算を元の配列に直接適用すること。
flags
配列の属性情報を格納するオブジェクト(例: C_CONTIGUOUS/F_CONTIGUOUS)。
C_CONTIGUOUS
C順序(行優先)で連続して格納されていることを示します。
F_CONTIGUOUS
Fortran順序(列優先)で連続して格納されていることを示します。
ascontiguousarray
C順序で連続になるようコピーして返します。
memmap
大規模データをディスク上のファイルにマッピングして扱う配列タイプ。
structured_array
複数のフィールドを持つ構造化データ型の配列。
recarray
構造化配列の一種で、フィールド名を属性参照でアクセスできる形式。
dtype.kind
dtypeの種類を表す文字。例: 'i'(整数), 'f'(浮動小数), 'U'(Unicode) など。
endianness
データのバイト順序。'<' はリトルエンディアン、'>' はビッグエンディアン。
byteorder
データのバイト順序の表記。
frombuffer
既存のバイト列から配列を作成します。
fromfile
ファイルから配列を読み込みます。
loadtxt
テキストファイルから数値データを読み込む補助関数。
genfromtxt
欠損値を許容しつつテキストデータを読み込む関数。
zeros
全要素が0の配列を作成します。
ones
全要素が1の配列を作成します。
empty
初期値が未設定の配列。値は未定義の可能性があります。
full
全要素を指定した値で埋める配列を作成します。
arange
開始値から終値まで等差数列を作成します。
linspace
区間を等間隔で分割して値を作成します。
logspace
対数スケールで等間隔に値を作成します。
meshgrid
座標格子を作成して多次元データの生成に使います。
concatenate
複数の配列を結合して1つの配列にします。
stack
新しい軸を挿入して配列を結合します。
hstack
水平方向に結合します(列方向の結合)。
vstack
垂直方向に結合します(行方向の結合)。
dstack
深さ方向に結合します。
split
配列を複数の配列に分割します。
take
インデックス配列で要素を抽出します。
put
指定位置に値を代入します。
argmin
最小値のインデックスを返します。
argmax
最大値のインデックスを返します。
nonzero
非ゼロ要素のインデックスを返します。
argwhere
条件を満たす要素のインデックスを抽出します。
newaxis
配列に新しい次元を追加する特殊スライスオブジェクトです。
np.may_share_memory
2つの配列が同じメモリを共有している可能性を推定します。
np.isfortran
Fortran順序の配列かどうかを判定します。
np.asfortranarray
Fortran順序の連続配列に変換します。

numpy配列のおすすめ参考サイト


インターネット・コンピュータの人気記事

awstatsとは?初心者でもわかる使い方と基本解説共起語・同意語・対義語も併せて解説!
14198viws
bing・とは?初心者のための基本ガイド:検索エンジンの仕組みと使い方共起語・同意語・対義語も併せて解説!
2081viws
着信転送とは?初心者向けガイドで分かる使い方と設定のコツ共起語・同意語・対義語も併せて解説!
1032viws
リマインドメールとは?初心者にもわかる基本ガイドと使い方のコツ共起語・同意語・対義語も併せて解説!
725viws
充電アダプターとは何かを徹底解説|初心者でも分かる基本と選び方のコツ共起語・同意語・対義語も併せて解説!
667viws
com端子・とは?初心者にも分かる基礎ガイド|シリアルポートの使い方と歴史を解説共起語・同意語・対義語も併せて解説!
648viws
pinロックとは?初心者が知っておくべき基本と使い方ガイド共起語・同意語・対義語も併せて解説!
564viws
16進数カラーコード・とは?初心者でもつまずかない基礎と使い方ガイド共起語・同意語・対義語も併せて解説!
504viws
asp・とは?初心者向けに徹底解説する基本と使い方ガイド共起語・同意語・対義語も併せて解説!
490viws
7zファイル・とは?初心者でもわかる使い方と特徴を解説共起語・同意語・対義語も併せて解説!
475viws
ローカルポート・とは?初心者にも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
458viws
差し込み印刷・とは?初心者でもすぐわかる使い方と仕組みガイド共起語・同意語・対義語も併せて解説!
438viws
全角文字とは?初心者向け解説|全角と半角の違いをやさしく学ぶ共起語・同意語・対義語も併せて解説!
417viws
none とは?初心者にもやさしく解説する意味と使い方ガイド共起語・同意語・対義語も併せて解説!
371viws
ワンタイムコード・とは?初心者でも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
364viws
select句・とは?初心者でも分かるSQLの基本と使い方共起語・同意語・対義語も併せて解説!
361viws
csvダウンロードとは?初心者が今すぐ使える基本ガイド共起語・同意語・対義語も併せて解説!
345viws
ダイレクトチャットとは?初心者向けガイドで使い方と注意点を徹底解説共起語・同意語・対義語も併せて解説!
326viws
解像度スケールとは?初心者でも分かる解像度スケールの基礎と使い方共起語・同意語・対義語も併せて解説!
278viws
sha256とは?初心者が知るべき暗号ハッシュの基礎と使い道共起語・同意語・対義語も併せて解説!
275viws

新着記事

インターネット・コンピュータの関連記事