python

BroadCasting

Broadcastingについて

Broadcastingとは、多次元配列同士の計算をするときに、お互いが同じ要素数を持っていなくても計算上必要だが空いている要素の部分を自動で補完してくれる機能です。

import numpy as np
a = np.array([[1,2,3]])
b = np.array([[1,2,3],[4,5,6],[7,8,9])
a + b
=>array([[ 2,  4,  6],
       [ 5,  7,  9],
       [ 8, 10, 12]])

"""
a = array([[1,2,3],[1,2,3],[1,2,3])とbと比べたときに足りない要素数を
自動補完されbにそれぞれ足される
"""

このように、aの中には1つの要素がありbには3つの要素がありますが、a + bの計算が可能です。計算結果を見てもらうと分かる通り、bの要素それぞれにaの要素が足されていますね。この自動補完機能をBroadcastingと言います。

※リストとの計算の仕方の違いに注意しましょう