次元 4 の上三角部分配列があります。次のように初期化されます。
N, Q = (99, 23)
bivariate = np.zeros((N,N,Q,Q))
そして、次のようなものが入力されます
for i in range(N):
for j in range(i+1,N):
bivariate[i,j] = num
上三角要素を正規化された (Q,Q) 行列にしたい。私は現在、これを行うだけでこれを行っています
bivariate /= bivariate.sum(axis=3).sum(axis=2)[:,:,np.newaxis,np.newaxis]
しかし、下三角部分の空の配列が正規化されているため、ランタイム警告が表示されます。次の方法以外でこれを行うより良い方法はありますか?
for i in range(N):
for j in range(i+1,N):
bivariate[i,j] /= bivariate[i,j].sum()
ありがとう。