草庐IT

对角阵

全部标签

python - 二维 numpy 数组的上对角线

这看起来很简单(并且编写一个三行循环是微不足道的),但是我如何使用numpy切片来制作一个numpy数组上对角线索引位置的列表?即给定一个4x4数组,我想要X处的索引位置:[XXXX][0XXX][00XX][000X]给予:[(0,0),(0,1),(0,2),(0,3),(1,1),(1,2),(1,3),(2,2),(2,3),(3,3)] 最佳答案 carnieri在numpy.triu_indices答案上领先我,但还有numpy.triu_indices_from将数组而不是维度作为输入。

LeetCode 1572. 矩阵对角线元素的和

【LetMeFly】1572.矩阵对角线元素的和力扣题目链接:https://leetcode.cn/problems/matrix-diagonal-sum/给你一个正方形矩阵mat,请你返回矩阵对角线元素的和。请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。 示例 1:输入:mat=[[1,2,3], [4,5,6], [7,8,9]]输出:25解释:对角线的和为:1+5+9+3+7=25请注意,元素mat[1][1]=5只会被计算一次。示例 2:输入:mat=[[1,1,1,1], [1,1,1,1], [1,1,1,1], [1,1,1,1]]输出:8示例3:输入:

python - Pandas :获取数据帧中对角线下方的元素(索引,列)

我有一个pandasDataFrame,df。我想提取df中所有(col,index)的列表,其中(col,index)>.95的值。此外,我想以它们位于df的下对角线这一事实为条件,不包括对角线本身。(如果有帮助的话,它是相关df,所以对角线是1,这不是我感兴趣的。)我该怎么做? 最佳答案 In[71]:df=DataFrame(np.arange(25).reshape(5,5))In[72]:dfOut[72]:01234001234156789210111213143151617181942021222324这掩盖了上三角(

python - 具有两个类的 Seaborn pairplot 非对角线 KDE

我正在尝试查看两个不同类别变量的Seaborn配对图,我希望在非对角线上看到KDE而不是散点图。文档有instructionsonhowtodoaKDEforallofthedata,但我想为每个数据子类查看单独的KDE。欢迎提出建议!我的代码看起来像这样:plot=sns.pairplot(df,vars=labels,hue='has_accident',palette='Set1',diag_kind='kde',)结果是:如您所见,数据足够密集,很难看出非对角线上红色和蓝色数据的差异。 最佳答案 你的意思可能是这样的:imp

python - 具有恒定对角线且与另一个矩阵具有相同形状的空矩阵

我想知道是否有一种简单的方法可以将numpy矩阵乘以标量。本质上,我希望所有值都乘以常数40。这将是一个nxn矩阵,对角线为40,但我想知道是否有更简单的函数可用于缩放此矩阵。或者我将如何制作一个与我的其他矩阵具有相同形状的矩阵并填充其对角线?抱歉,如果这看起来有点基础,但出于某种原因我无法在文档中找到它。 最佳答案 如果您想要一个对角线为40而其他位置为零的矩阵,您可以在零矩阵上使用NumPy的函数fill_diagonal()。因此你可以直接做:N=100;value=40b=np.zeros((N,N))np.fill_dia

python - 在 Numpy 中制作特殊的对角矩阵

我正在尝试制作一个如下所示的numpy数组:[abc][abc][abc][abc]所以这涉及到更新主对角线和它上面的两条对角线。执行此操作的有效方法是什么? 最佳答案 您可以使用np.indices获取数组的索引,然后将值分配到您想要的位置。a=np.zeros((5,10))i,j=np.indices(a.shape)i,j分别是行索引和列索引。a[i==j]=1.a[i==j-1]=2.a[i==j-2]=3.将导致:array([[1.,2.,3.,0.,0.,0.,0.,0.,0.,0.],[0.,1.,2.,3.,0.

矩阵求值(所有元素、上三角、下三角、对角线,最小值及其下标)

题目:        构造一个3行3列的矩阵,从键盘随机输入每个元素的值        分别求:所有元素的和、上三角的和、下三角的和、对角线的和、最小值及最小值对应的行列下标解析:    1.构造矩阵,从键盘植入元素    2.求和解答:        1.构造矩阵#include#defineN3intmain(){ inta[N][N]; inti=0,j=0; printf("请输入矩阵元素:"); for(i=0;i    2.求所有元素之和 intsum=0; for(i=0;i    3.求最小值及最小值对应的行列下标intb,k,h;b=a[1][1]; for(i=0;i   

矩阵对角线元素的和

题目:给你一个正方形矩阵mat,请你返回矩阵对角线元素的和。请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。示例:输入:mat=[[1,2,3],           [4,5,6],           [7,8,9]]输出:25解释:对角线的和为:1+5+9+3+7=25请注意,元素mat[1][1]=5只会被计算一次。来源:力扣(LeetCode)链接:https://leetcode.cn/problems/matrix-diagonal-sumclassSolution:defdiagonalSum(self,mat):j=0c=1a=[]b=len(mat)fo

11-矩阵(matrix)_方阵_对称阵_单位阵_对角阵

矩阵及其运算[a11⋯a1n⋯⋯⋯am1⋯amn]\begin{bmatrix}a_{11}&\cdots&a_{1n}\\\cdots&\cdots&\cdots\\a_{m1}&\cdots&a_{mn}\\\end{bmatrix}​a11​⋯am1​​⋯⋯⋯​a1n​⋯amn​​​矩阵就是二维数组,上面是一个m乘n的矩阵,它有m行,n列,每行每列上面都有一个元素,每个元素都有行标i和列标j,对应的元素就是aija_{ij}aij​矩阵是一种常见的数据结构,它由一堆一维数组(也称为行向量)组成。矩阵是二维数组,由行和列构成。通常用于在数学、计算机科学、统计学等领域进行数据处理和表示。矩阵

ios - 用对角线绘制的 UIView 填充?

如何像这样填充UIView(使用一些对角线绘制的白线)。PS:我的意图是填充而不是边框​​。有什么帮助吗? 最佳答案 实现此目的的一种方法是覆盖UIView的draw(_:)方法并在那里进行自定义绘图。绘制对角线非常简单,您只需要:从0到宽度+高度(沿着矩形的水平边缘,然后向上垂直),由间隙+线宽,从对角线(45º)长度转换为平行于要绘制的矩形的边缘。在每次迭代中,从该迭代的给定点到相对边上的点(45º)画一条线。我们通过简单地向上处理矩形的垂直边缘,然后沿水平方向得到这一点)像这样应该可以达到预期的效果:classStripeyV