Pythonで二次元リストの平均値を計算する方法を紹介します。この記事では、数値のみを含むリストだけでなく、数値と非数値が混在するリストに対する平均値の計算方法も扱います。
数値のみを含む二次元リストの平均値
数値のみを含む二次元リストの各行の平均値を計算するには、以下のようなコードを使用します。
def avr(a):
return float(sum(a))/len(a)
def average_2d(a):
return [avr(x) for x in a]
li_2d = [[1, 2, 3, 4], [1, 3, 5.5, 7]]
average_2d(li_2d)
このコードは、average_2d
関数を使用して二次元リストli_2d
の各行の平均値を計算します。avr
関数は一次元リストの平均値を計算します。
数値と非数値が混在する二次元リストの平均値
数値と非数値が混在する二次元リストの各行の平均値を計算するには、以下のようなコードを使用します。
def avr(a):
try:
return float(sum(a))/len(a)
except Exception:
return 'illegal'
def average_2d(a):
return [avr(x) for x in a]
li_2d = [[1, 2, 3, 4], [1, 3, 5.5, 'a'], ['a', 3, 5, None]]
average_2d(li_2d)
このコードは、非数値が含まれている場合には’illegal’を返すようにavr
関数を修正しています。これにより、非数値が混在するリストに対しても平均値を計算することができます。
以上がPythonで二次元リストの平均値を計算する方法です。この方法を使えば、数値のみを含むリストだけでなく、数値と非数値が混在するリストに対しても平均値を計算することが可能になります。