【NumPy】行・列方向の要素の和・差・積

この記事では、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()

おすすめ記事

Python入門 サンプル集
NumPy入門 サンプル集

コメント