AI資格ドリル
資格を選ぶ

Python3エンジニア認定データ分析試験 用語解説

ブロードキャストとは

形の違う配列どうしを算術演算するときの NumPy の扱い方。一定の制約のもとで、小さい方の配列が大きい方の配列に合わせて「ブロードキャスト」され、互換性のある形になる。ループが Python ではなく C で回る形に置き換えられ、無駄なデータのコピーも作られない。一方で、メモリを非効率に使って計算が遅くなる場合もあると公式は注意している。

ブロードキャストの意味と見分け方

ブロードキャストは、Python3エンジニア認定データ分析試験の「第3章 NumPy」に出てくる用語です。演算できる形かを右端から判断する: 2つの配列を演算するとき、NumPy は shape を右端の次元から左へ順に比べ、各次元が「等しい」か「どちらかが1」なら互換とみなします。この条件を満たさないと ValueError になります。

情報源と編集区分

公式範囲を確認し、具体例・誤答例・判断手順は当サイトが編集。

試験概要(公式)

試験での問われ方

01

演算できる形かを右端から判断する

2つの配列を演算するとき、NumPy は shape を右端の次元から左へ順に比べ、各次元が「等しい」か「どちらかが1」なら互換とみなします。この条件を満たさないと ValueError になります。

02

結果の形を答える

入力した配列の次元数が違っても構いません。結果の次元数は、入力のうち最も次元数の多いものに合わせられます。shape を並べて、互換になるかと結果の形を答えさせる形で出ます。

03

利点と注意点を答える

ブロードキャストは、ループを Python ではなく C で回す形に置き換え、無駄なデータのコピーも作りません。一方で、メモリを非効率に使って計算が遅くなる場合もあると公式は注意しています。

誤答しやすいポイント

ブロードキャストの問題で、誤答につながりやすい考え方です。

  • shape を左端の次元から比べてしまうこと。公式の規則は右端(末尾)の次元から左へ比べていく。
  • ブロードキャストを、どんな形の組み合わせでも自動で演算できる仕組みだと思い込むこと。各次元が等しいか、どちらかが1でなければ ValueError になる。

関連する確認問題

第3章 NumPy / ndarrayの属性と作成

np.zeros((3, 4)) について、公式ドキュメントの記載に合っているものはどれか。

正解は「3行4列で全要素が 0 の配列を作り、dtype の既定は float64 である」である。公式の quickstart は、要素が未知で大きさだけが分かっている場合に使う関数として zeros(全要素が 0)、ones(全要素が 1)、empty(中身が不定)を挙げ、作られる配列の dtype の既定は float64 だと説明している。empty は初期化の手間を省くため、中身がメモリの状態に依存して不定になり、これが1つ目の選択肢の記述に当たる。zeros でも dtype キーワードで型を指定できる。引数に (3, 4) とタプルで形を渡す点も重要で、3, 4 と2つの引数に分けると別の意味になる。

第3章 NumPy / ndarrayの属性と作成

np.arange(10, 30, 5) の結果はどれか。

正解は「array([10, 15, 20, 25])」である。公式の quickstart は、arange を組み込みの range に似た関数で、リストの代わりに配列を返すと説明している。np.arange(10, 30, 5) は開始 10、終了 30、刻み幅 5 の指定で、range と同じく終了の値 30 は含まれず、10・15・20・25 の4要素になる。なお公式は、arange に浮動小数点数の刻み幅を使うと有限の精度のため要素数が予測しにくいとして、その場合は要素数を指定できる linspace を使うよう勧めている。終了値を含めたい場合は、終了値を 1 刻み分だけ大きくして指定する。

第3章 NumPy / 演算と軸

A = np.array([[1, 1], [0, 1]])、B = np.array([[2, 0], [3, 4]]) のとき、A * B と A @ B の結果の組み合わせとして正しいものはどれか。

正解は「A * B は [[2, 0], [0, 4]]、A @ B は [[5, 4], [3, 4]]」である。公式の quickstart は、行列を含む多くの言語と違い、NumPy の積の演算子 * は要素ごとの積で動くと説明している。行列積は @ 演算子(Python 3.5 以降)か dot 関数または dot メソッドで行う。要素ごとの積は同じ位置の値どうしを掛けるので 1×2, 1×0, 0×3, 1×4 で [[2, 0], [0, 4]] になる。行列積は第1行が 1×2+1×3=5 と 1×0+1×4=4、第2行が 0×2+1×3=3 と 0×0+1×4=4 で [[5, 4], [3, 4]] になる。2つの演算の使い分けが出題の要点である。

同じ章で確認したい用語

他資格でも出題される用語

到達チェック

  • ブロードキャストを一文で説明できる
  • 同じ章の似た用語と違いを説明できる
  • 問題文の具体例から、ブロードキャストに関係する論点を拾える
  • 関連問題を解き、誤答した選択肢の理由を確認できる

執筆: AI資格ドリル編集部(運営者情報を見る)