Python3エンジニア認定データ分析試験 用語解説
shapeとは
NumPy配列の各次元の大きさを表す、0以上の整数N個のタプル。配列の次元数と要素数は shape で決まる。公式の例では、2行3列の配列 x の x.shape は (2, 3) になる。
この記事の目次
shapeの意味と見分け方
shapeは、Python3エンジニア認定データ分析試験の「第3章 NumPy」に出てくる用語です。タプルの読み方を答える: shape は各次元の大きさを並べた整数のタプルです。公式の例では、2行3列の配列 x の x.shape は (2, 3) になります。先頭が行数、次が列数という読み方を、コードから確かめさせる形で出ます。
情報源と編集区分
公式範囲を確認し、具体例・誤答例・判断手順は当サイトが編集。
試験概要(公式)試験での問われ方
タプルの読み方を答える
shape は各次元の大きさを並べた整数のタプルです。公式の例では、2行3列の配列 x の x.shape は (2, 3) になります。先頭が行数、次が列数という読み方を、コードから確かめさせる形で出ます。
次元数との対応を答える
shape のタプルの長さが次元数に対応します。(2, 3) なら2次元、要素数は 2 × 3 で6個です。要素数と次元数を取り違えた選択肢に注意します。
演算できる形かを判断する
2つの配列を演算できるかは shape を見て決まります。形が違うときの扱いはブロードキャストの規則で判断するので、shape を右端の次元から比べる習慣をつけます。
誤答しやすいポイント
shapeの問題で、誤答につながりやすい考え方です。
- shape を、配列の要素の型や値を表すものだと取り違えること。shape が表すのは各次元の大きさで、要素の型は dtype である。
- (2, 3) を「3行2列」と読み違えること。公式の例では、2行3列の配列の shape が (2, 3) である。
関連する確認問題
第3章 NumPy / 演算と軸
b = np.arange(12).reshape(3, 4) のとき、b.sum(axis=0) の結果はどれか。
正解は「array([12, 15, 18, 21])」である。公式の quickstart は、sum や min、max のような集計は既定では配列を数のリストのように扱い全要素に対して計算するが、axis を指定すると配列の指定した軸に沿って計算できると説明している。b.sum(axis=0) は列ごとの合計で、0+4+8=12、1+5+9=15、2+6+10=18、3+7+11=21 となる。axis=1 なら行ごとの合計 [6, 22, 38] になり、axis を指定しなければ全要素の合計 66 になる。axis=0 は各列を縦に足すと覚え、結果の要素数が3行4列のうちの列数 4 になる点で見分ける。
第3章 NumPy / ビューとコピー
a = np.arange(12).reshape(3, 4) のとき、元の配列 a とデータを共有しない配列を作るのはどれか。
正解は「a.copy()」である。公式の quickstart は、配列の演算や操作でデータがコピーされるか否かが初学者の混乱のもとだとして、3つの場合を分けている。1つ目は単なる代入で、b = a は新しいオブジェクトを作らず、同じオブジェクトに別名を付けるだけなので b is a が True になる。2つ目は view メソッドで、同じデータを見る新しい配列オブジェクトを作る。スライスも元の配列のビューを返す。3つ目の copy メソッドだけが配列とそのデータの完全なコピー(ディープコピー)を作り、元の配列とデータを共有しない。データを共有するかどうかが判断の軸である。
第3章 NumPy / ビューとコピー
a = np.arange(12).reshape(3, 4) に対して s = a[:, 1:3] を実行し、続けて s[:] = 10 を実行した。a について正しいものはどれか。
正解は「スライスは a のビューなので、a の列番号1と2(0始まり)の全行が 10 に変わる」である。公式の quickstart は、配列をスライスするとそのビューが返るとして、ビューは元の配列と同じデータを見る別の配列オブジェクトだと説明している。したがって s = a[:, 1:3] はコピーではなく、s[:] = 10 と代入すると a の対応する部分にも反映される。変わるのは列番号1と2の全3行ぶんの6要素で、列番号0と3は変わらない。元のデータを守りたいときは、スライスに copy メソッドを付けて独立した配列にしてから代入する。この動作は Python のリストのスライスがコピーを返す点と異なる。
同じ章で確認したい用語
到達チェック
- shapeを一文で説明できる
- 同じ章の似た用語と違いを説明できる
- 問題文の具体例から、shapeに関係する論点を拾える
- 関連問題を解き、誤答した選択肢の理由を確認できる
執筆: AI資格ドリル編集部(運営者情報を見る)