欢迎来到资源库(www.zyku.net)

Python教程

当前位置:首页 > 网络编程 > Python教程 > 函数

Python NumPy中diag函数的使用说明

时间:2022-01-25|栏目:Python教程|点击:|我要投稿

NumPy包中的内置diag函数很有意思。

假设创建一个1维数组a,和一个3*3数组b:

import numpy as np
a = np.arange(1, 4)
b = np.arange(1, 10).reshape(3, 3)

结果如下:

>>> a array([1, 2, 3]) >>> b array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

使用diag函数,看一看结果:

>>> np.diag(a) array([[1, 0, 0], [0, 2, 0], [0, 0, 3]]) >>> np.diag(b) array([1, 5, 9])

可以发现,当 np.diag(array)

array是一个1维数组时,结果形成一个以一维数组为对角线元素的矩阵

array是一个二维矩阵时,结果输出矩阵的对角线元素

补充:numpy.diag()结构及用法||参数详解

numpy.diag(v,k=0) 

官方文档

以一维数组的形式返回方阵的对角线(或非对角线)元素,或将一维数组转换成方阵(非对角线元素为0).两种功能角色转变取决于输入的v。1

更深层的见numpy.diagnal()

参数详解:

v : array_like.

如果v是2D数组,返回k位置的对角线。

如果v是1D数组,返回一个v作为k位置对角线的2维数组。

k : int, optional

对角线的位置,大于零位于对角线上面,小于零则在下面。

示例

>>> x = np.arange(9).reshape((3,3))
>>> x
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
       
>>> np.diag(x)
array([0, 4, 8])
>>> np.diag(x, k=1)
array([1, 5])
>>> np.diag(x, k=-1)
array([3, 7])

>>> np.diag(np.diag(x))
array([[0, 0, 0],
       [0, 4, 0],
       [0, 0, 8]])

(资源库 www.zyku.net)

原文链接:https://blog.csdn.net/qq_35277038/article/details/80766746

上一篇:python源码剖析之PyObject详解

栏    目:Python教程

下一篇:OpenCV3.3+Python3.6实现图片高斯模糊

本文标题:Python NumPy中diag函数的使用说明

本文地址:https://www.zyku.net/python/9288.html

关于我们 | 版权申明 | 寻求合作 |

重要申明:本站所有的文章、图片、评论等内容,均由网友发表或上传并维护或收集自网络,仅供个人学习交流使用,版权归原作者所有。

如有侵犯您的版权,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:95148658 | 邮箱:mb8#qq.com(#换成@)

苏ICP备2020066115号-1

本网站由提供CDN加速/云存储服务