セクション 2. 章 4
single
2次元配列のスライシング
メニューを表示するにはスワイプしてください
2次元および高次元配列でのスライスは、1次元配列でのスライスと同様に機能します。ただし、2次元配列には2つの軸があります。
軸0のみに対してスライスを行い1次元配列を取得したい場合、構文は同じく array[start:end:step] です。これらの1次元配列の要素(軸1)に対してスライスを行う場合、構文は次のようになります:array[start:end:step, start:end:step]。基本的に、スライスの数は配列の次元数に対応します。
さらに、一方の軸にはスライス、もう一方の軸には基本インデックス指定を組み合わせて使用できます。2次元スライスの例を見てみましょう(紫色の四角はスライスで取得される要素、黒い矢印は要素が逆順で取得されることを示します):
1234567891011121314151617181920import numpy as np array_2d = np.array([ [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12] ]) # Initial Array print("Initial array_2d:\n", array_2d) # Rows from index 1 to the end print("\narray_2d[1:]:\n", array_2d[1:]) # All rows, first column only print("\narray_2d[:, 0]:\n", array_2d[:, 0]) # Subarray: rows from 1 to end, columns from 1 to second-to-last print("\narray_2d[1:, 1:-1]:\n", array_2d[1:, 1:-1]) # All rows except the last, every second column print("\narray_2d[:-1, ::2]:\n", array_2d[:-1, ::2]) # Third row (index 2) reversed print("\narray_2d[2, ::-1]:\n", array_2d[2, ::-1])
下図は、課題で使用される student_scores 配列の構造を示しています:
タスク
スワイプしてコーディングを開始
あなたは、3人の学生が3つの異なる科目で取得したスコアを表す2次元NumPy配列を扱っています。各学生のスコアは別々の行に格納されており、それぞれの要素が特定の科目のスコアを表します。
student_scoresのうち、最初の学生(1行目)の最後の2つのスコアを含むスライスを作成してください。- 基本的なインデックス指定(正のインデックス)とスライスを使用し、正の
startのみを指定してください。
解答
すべて明確でしたか?
フィードバックありがとうございます!
セクション 2. 章 4
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください