试图修改np数组diagon

2024-06-17 15:44:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图修改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的文档字符串。是的,但我还是不知道怎么做。有什么建议吗


Tags: orgnumpyhttpobjectbasichtml教程scipy
1条回答
网友
1楼 · 发布于 2024-06-17 15:44:34

您只需切片一个数组,然后填充该数组的_对角线:

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]])

相关问题 更多 >