当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python NumPy fill_diagonal方法用法及代码示例


Numpy 的 fill_diagonal(~) 方法为 Numpy 数组的对角线设置指定值。请注意,这是就地发生的,即不会创建新数组。

参数

1. a | array-like

输入数组。

2. val | scalar

填充对角线所需的值。

3. wrap | boolean | optional

对于行数多于列数的二维数组(即高矩阵),我们可以重复填充对角线。请参阅示例以进行说明。默认情况下,wrap=False

返回值

无 - 对角线就地填充。

例子

基本用法

考虑以下二维数组:

a = np.array([[5,6],[7,8]])
a



array([[5, 6],
       [7, 8]])

用值 2 填充对角线:

np.fill_diagonal(a, 2)
a



array([[2, 6],
       [7, 2]])

高矩阵

考虑以下高二维数组:

a = np.array([[1,1],[1,1],[1,1],[1,1],[1,1]])
a



array([[1, 1],
       [1, 1],
       [1, 1],
       [1, 1],
       [1, 1]])
不带包装

默认情况下,没有环绕行为,因此只会填充主对角线:

np.fill_diagonal(a, 0)
a



array([[0, 1],
       [1, 0],
       [1, 1],
       [1, 1],
       [1, 1]])
带包装

要启用包装行为,请像这样设置wrap=True

np.fill_diagonal(a, 0, wrap=True)
a



array([[0, 1],
       [1, 0],
       [1, 1],
       [0, 1],
       [1, 0]])

请注意在填充下一个对角线之前如何跳过单行。

相关用法


注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 NumPy | fill_diagonal method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。