【发布时间】:2018-07-15 22:36:17
【问题描述】:
a=np.zeros((3,3,3))
b=np.arange(3)
c=np.arange(9).reshape(3,3)
我想将数组b 或c 的元素沿3d 矩阵(张量)a 相对于特定轴的对角线(或对角线上方/下方)放置。
我厌倦了numpy.diagflat,但它只适用于二维矩阵。
例如,如何制作下面的矩阵?
array([[[ 0., 0., 0.],
[ 0., 1., 0.],
[ 0., 0., 2.]],
[[ 0., 0., 0.],
[ 0., 1., 0.],
[ 0., 0., 2.]],
[[ 0., 0., 0.],
[ 0., 1., 0.],
[ 0., 0., 2.]]])
【问题讨论】:
标签: python numpy matrix scipy diagonal