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]])
请注意在填充下一个对角线之前如何跳过单行。
相关用法
- Python filecmp.cmpfiles()用法及代码示例
- Python fileinput.filelineno()用法及代码示例
- Python fileinput.lineno()用法及代码示例
- Python fileinput.input用法及代码示例
- Python fileinput.isfirstline()用法及代码示例
- Python fileinput.input()用法及代码示例
- Python fileinput.filename()用法及代码示例
- Python filter()用法及代码示例
- Python BeautifulSoup find_next方法用法及代码示例
- Python calendar firstweekday()用法及代码示例
- Python NumPy finfo方法用法及代码示例
- Python BeautifulSoup find_all_next方法用法及代码示例
- Python BeautifulSoup find_next_sibling方法用法及代码示例
- Python BeautifulSoup find_previous_sibling方法用法及代码示例
- Python NumPy fix方法用法及代码示例
- Python string find()用法及代码示例
- Python BeautifulSoup find方法用法及代码示例
- Python BeautifulSoup find_parent方法用法及代码示例
- Python BeautifulSoup find_all方法用法及代码示例
- Python BeautifulSoup find_parents方法用法及代码示例
- Python NumPy fliplr方法用法及代码示例
- Python dict fromkeys()用法及代码示例
- Python frexp()用法及代码示例
- Python functools.wraps用法及代码示例
注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 NumPy | fill_diagonal method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。