【发布时间】:2017-01-24 01:33:16
【问题描述】:
我正在寻找一种更优化的方法将 (n,n) 或 (n,n,1) 矩阵转换为 (n,n,3) 矩阵。我从 (n,n,3) 开始,但是在第二个轴上对 (n,n) 执行求和后,我的尺寸会减小。本质上,我想保持数组的原始大小并让第二个轴重复 3 次。我需要这个的原因是我稍后将使用另一个 (n,n,3) 数组广播它,但它们需要相同的尺寸。
我目前的方法有效,但似乎并不优雅。
a0=np.random.random((n,n))
b=a.flatten().tolist()
a=np.array(zip(b,b,b))
a.shape=n,n,3
此设置具有预期的结果,但笨重且难以遵循。有没有办法通过复制第二个索引直接从 (n,n) 到 (n,n,3) ?或者也许是一种不缩小数组大小的方法?
【问题讨论】:
标签: python arrays numpy broadcast dimensions