Skip to content

9. 配列の集約処理(sum, mean, max など)

配列の集約処理は、NumPy を利用する上で非常に重要な機能です。この章では、配列全体の要素をまとめて操作する方法を学びます。以下のサブトピックで具体的な操作を分かりやすく説明します。

9.1 配列の合計を求める (sum)

NumPy の sum 関数を使うと、配列内のすべての要素の合計を簡単に計算することができます。例えば、以下のようにして 1 次元配列の合計を求めることができます。

import numpy as np

# 1次元配列の作成
array_1d = np.array([1, 2, 3, 4, 5])

# 配列の合計
total_sum = np.sum(array_1d)

print("合計:", total_sum)  # 出力: 合計: 15

9.2 平均を計算する (mean)

配列内の要素の平均を求めるには、mean 関数を使用します。以下の例では、2 次元配列の平均を計算しています。

# 2次元配列の作成
array_2d = np.array([[1, 2, 3], [4, 5, 6]])

# 配列の平均
average = np.mean(array_2d)

print("平均:", average)  # 出力: 平均: 3.5

9.3 最大値を求める (max)

配列内の最大値を簡単に取得することもできます。max 関数を使用して、最も大きい要素を見つけましょう。

# 2次元配列から最大値を取得
max_value = np.max(array_2d)

print("最大値:", max_value)  # 出力: 最大値: 6

9.4 配列の軸に沿った集約

NumPy の強力な機能の一つに、特定の軸に沿って集約処理を行うことができるというものがあります。例えば、2 次元配列の各列や各行に沿った合計や平均を求めることができます。

# 各列の合計
col_sum = np.sum(array_2d, axis=0)
print("各列の合計:", col_sum)  # 出力: 各列の合計: [5 7 9]

# 各行の平均
row_mean = np.mean(array_2d, axis=1)
print("各行の平均:", row_mean)  # 出力: 各行の平均: [2.  5.]

9.5 配列全体の最小値を求める (min)

次に、配列の最小値を求める方法を見てみましょう。min 関数を使用すると簡単に取得できます。

# 2次元配列から最小値を取得
min_value = np.min(array_2d)

print("最小値:", min_value)  # 出力: 最小値: 1

9.6 演習問題

  1. 1 次元配列 [10, 20, 30, 40, 50] の合計と平均を求めてみましょう。
  2. 任意の 2 次元配列を作成して、その配列の各行の最大値を計算してください。
  3. 2 次元配列の行ごとに最小値を求めるコードを作成し、その結果を解釈してみてください。

この章では、NumPy を利用した配列の集約処理の基本を学びました。この知識は、データ解析や機械学習を行う際に大変役立ちますので、実際のコードを試しながら理解を深めてください。