この記事では、Python言語とNumPyを用いて、配列の行方向・列方向の要素同士の和・差・積を求める方法をソースコード付きで解説します。
行方向・列方向の和・差・積
NumPy配列では2次元配列の行方向・列方向の和・差・積を求める機能が用意されています。
書式
– | 説明 |
---|---|
numpy.sum(x, axis=1) | 行方向の和 |
numpy.sum(x, axis=0) | 列方向の和 |
numpy.diff(x) | 行方向の差分 |
numpy.diff(x, axis=0) | 列方向の差分 |
numpy.prod(x, axis=1) | 行方向の積 |
numpy.prod(x, axis=0) | 列方向の積 |
axisに何も指定しない場合は、全ての要素となります。
ソースコード
サンプルプログラムのソースコードです。
# -*- coding: utf-8 -*- import numpy as np def main(): # 配列の宣言・初期化 x = np.array([[1, 2, 3], [6, 5, 4]]) # 和 print(np.sum(x)) # 全要素 21 print(np.sum(x, axis=1)) # 行方向 [ 6 15] print(np.sum(x, axis=0)) # 列方向 [7 7 7] # 差分 print(np.diff(x)) # 行方向 [ [ 1 1] [-1 -1] ] print(np.diff(x, axis=0)) # 列方向 [[5 3 1]] # 積 print(np.prod(x)) # 全要素 720 print(np.prod(x, axis=1)) # 行方向 [ 6 120] print(np.prod(x, axis=0)) # 列方向 [ 6 10 12] if __name__ == '__main__': main()
コメント