Python numpy.sum(..) axisオプション指定まとめ – 多次元配列の集計

NumPyのsum関数は、配列内の要素を合計するために使用されます。sum関数はaxisオプションを指定することで、多次元配列の集計を柔軟に行うことができます。この記事では、NumPyのsum関数のaxisオプションを指定する方法をまとめ、多次元配列の集計を効率的に行うためのコツを紹介します。次に、axisオプションを指定する方法とその例を紹介します。最後に、axisオプションを指定して多次元配列の集計を実行する具体的な例を示します。この記事を読み進めることで、NumPyのsum関数をより効果的に使用する方法を学ぶことができます。
Python numpy.sum(..) axisオプション指定まとめ – 多次元配列の集計
numpy.sum()は、配列の要素を合計する関数ですが、axisオプションを指定することで、多次元配列の集計方法を変更できます。
axisオプションの基本
axisオプションは、配列のどの軸に対して集計を行うかを指定します。axis=0の場合、行方向(垂直方向)に対して集計を行い、axis=1の場合、列方向(水平方向)に対して集計を行います。
多次元配列の例
以下は、2次元配列の例です。 python import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) print(arr) 出力: [[1 2 3] [4 5 6]]
axis=0の場合
axis=0を指定すると、行方向に対して集計が行われます。 python print(np.sum(arr, axis=0)) 出力: [5 7 9]
axis=1の場合
axis=1を指定すると、列方向に対して集計が行われます。 python print(np.sum(arr, axis=1)) 出力: [ 6 15]
axis=Noneの場合
axis=Noneを指定すると、全ての要素に対して集計が行われます。 python print(np.sum(arr, axis=None)) 出力: 21
| axisオプション | 集計方法 |
|---|---|
| axis=0 | 行方向(垂直方向)に対して集計 |
| axis=1 | 列方向(水平方向)に対して集計 |
| axis=None | 全ての要素に対して集計 |
注意:axisオプションを省略した場合は、axis=Noneとみなされます。
よくある質問
axis オプションを指定しない場合、numpy.sum() はどのように集計処理を行うのですか?
axis オプションを指定しない場合、numpy.sum() は 多次元配列全体 を集計対象とします。つまり、配列内のすべての要素を合計して 単一の値 を返します。たとえば、2 次元配列 [ [1, 2], [3, 4] ] に対して axis オプションを指定しないで numpy.sum() を実行すると、1 + 2 + 3 + 4 = 10 である総和が計算されます。
axis=0 を指定した場合の numpy.sum() の集計処理とは何ですか?
axis=0 を指定すると、numpy.sum() は 列ごとの合計 を計算します。つまり、行方向に並んだ要素を合計し、 列ベクトル を生成します。たとえば、2 次元配列 [ [1, 2], [3, 4] ] に対して axis=0 を指定すると、 [1 + 3, 2 + 4] = [4, 6] となる列ベクトルが生成されます。
axis=1 を指定した場合の numpy.sum() の集計処理とは何ですか?
axis=1 を指定すると、numpy.sum() は 行ごとの合計 を計算します。つまり、列方向に並んだ要素を合計し、 行ベクトル を生成します。たとえば、2 次元配列 [ [1, 2], [3, 4] ] に対して axis=1 を指定すると、[1 + 2, 3 + 4] = [3, 7] となる行ベクトルが生成されます。
numpy.sum() の axis オプションで負の値を指定する場合の扱いは何ですか?
numpy.sum() の axis オプションで負の値を指定すると、 配列の最後の軸から数えたaxisの位置 を意味します。たとえば、2 次元配列に対して axis=-1 を指定すると、axis=1 と同様の効果があり、行ごとの合計が計算されます。負の値を使用する場合、配列の次元数を把握して適切な値を指定する必要があります。




