非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

【Python】2次元配列の縦列の合計・最大値・最小値・平均値を算出する方法

   

Pythonで2次元配列の縦列の合計、最大値、最小値を簡単に求めることができます。下図の青枠で囲ったところをたった一行で計算することができます。一般的に2次元配列の縦方向に計算するのは配列の構造上苦手で、Forループを使って1つ1つ要素を取り出して計算する必要があり面倒です。しかし、Pythonはnumpyを使うことで簡単で計算することができます。

 

まず縦列を1次元配列化する

まず最初に2次元配列から任意の縦列を抜き出して1次元配列化させる必要があります。これが他の言語と違いnumpyを使えば一発で可能です。

numpy2次元配列nからn[:, 1]とすれば2列目を抜き出すことが可能です。

import numpy as np

a = [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16],[17,18,19,20]]
n = np.array(a)
print(n[:, 1])

# 出力結果
# [ 2 6 10 14 18]
 

 

 

合計・最大値・最小値・平均値を算出する

縦列を2次元配列化させればあとは簡単です。以下のコードで合計・最大値・最小値・平均値を算出することができます。

# 合計
n[:, 1].sum()
# 最大
n[:, 1].max()
# 最小
n[:, 1].min()
# 平均
n[:, 1].mean()
 

 

ソースコード全文

こちらがソースコード全文です。

import numpy as np

a = [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16],[17,18,19,20]]
n = np.array(a)

print(n[:, 1])
print("合計: ", n[:, 1].sum())
print("最大: ", n[:, 1].max())
print("最小: ", n[:, 1].min())
print("平均: ", n[:, 1].mean())

# 出力結果
# [ 2 6 10 14 18]
# 合計:  50
# 最大:  18
# 最小:  2
# 平均:  10.0
 

 

スポンサーリンク

 - Python