2024-09-27 19:13:20 发布
网友
我试图修改6x52dnumpy数组的对角线值(这是本scipy教程中的一个练习:http://scipy-lectures.org/intro/numpy/array_object.html#basic-visualization)。我应该把对角线的值从零改为2,3,4,5,6。因为它是一个6 x 5的矩阵,所以实际上没有“主”对角线,所以我需要把从第二行([1][0])开始的对角线改为[5][4]。他们建议阅读diag的文档字符串。是的,但我还是不知道怎么做。有什么建议吗
diag
您只需切片一个数组,然后填充该数组的_对角线:
In [13]: import numpy as np In [14]: a = np.zeros((6,5), int) In [15]: np.fill_diagonal(a[1:], [2,3,4,5,6]) In [16]: a Out[16]: array([[0, 0, 0, 0, 0], [2, 0, 0, 0, 0], [0, 3, 0, 0, 0], [0, 0, 4, 0, 0], [0, 0, 0, 5, 0], [0, 0, 0, 0, 6]])
您只需切片一个数组,然后填充该数组的_对角线:
相关问题 更多 >
编程相关推荐