【发布时间】:2012-09-16 03:01:17
【问题描述】:
我有一个维度为 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()
谢谢。
【问题讨论】:
标签: python multidimensional-array numpy normalization