numpyのブロードキャストルール
563 ワード
まずnumpyの放送ルールについてお話しします.
1、2つの数の次元数が異なる場合、小さな次元配列の形状は一番左に1を補う.
2、2つの配列の形状がいずれの次元でも一致しない場合、配列の形状は次元が1の次元に沿って拡張され、別の配列の形状に一致します.
3、2つの配列の形状がいずれの次元でも一致せず、1に等しい次元がない場合、異常が発生します.
1、2つの数の次元数が異なる場合、小さな次元配列の形状は一番左に1を補う.
2、2つの配列の形状がいずれの次元でも一致しない場合、配列の形状は次元が1の次元に沿って拡張され、別の配列の形状に一致します.
3、2つの配列の形状がいずれの次元でも一致せず、1に等しい次元がない場合、異常が発生します.
import numpy as np
a = np.ones((2,3))
b = np.arange(3)
#a.shape = (2,3) b.shape = (3,)
# , 1, 1,b.shape = (1,3)
# , 2, , 1 ,b.shape = (2,3)
c = a + b
#c.shape = (2,3)
print(c)