读取 numpy 矩阵的一个特定单元格

2023-12-30

我编写了一个函数来查看矩阵是否对称:

def issymmetric(mat):
    if(mat.shape[0]!=mat.shape[1]):
        return 0
    for i in range(mat.shape[0]):
        for j in range(i):
            if (mat[i][j]!=mat[j][i]):
                return 0
    return 1

它与内置 ndarray 配合得很好,例如numpy.ones:

import numpy as np
a=np.ones((5,5), int)
print issymmetric(a)

以及 numpy 数组:

import numpy as np
a=np.array([[1, 2, 3], [2, 1 , 2], [3, 2, 1]])
print issymmetric(a)

但是当涉及到 numpy 矩阵时:

import numpy as np
a=np.matrix([[1, 2, 3], [2, 1 , 2], [3, 2, 1]])
print issymmetric(a)

它给了我这个错误:

  File "issymetry.py", line 9, in issymmetric
    if (mat[i][j]!=mat[j][i]):
  File "/usr/lib/python2.7/dist-packages/numpy/matrixlib/defmatrix.py", line 316, in __getitem__
    out = N.ndarray.__getitem__(self, index)
IndexError: index 1 is out of bounds for axis 0 with size 1

shell returned 1

那是因为没有a[0][1]

a[0] is matrix([[1, 2, 3]]). a[0][0] is matrix([[1, 2, 3]])也有,但是没有a[0][1].

如何在不更改矩阵类型或函数的情况下解决此问题?

一般来说,读取和更新 numpy 矩阵的一个特定单元格的正确方法是什么?


最好使用[i,j]样式索引numpy。通常你可以通过[i][j]使用时np.array,但不与np.matrix。记住一个np.matrix始终是 2d。

在 shell 中构造一个简单的二维数组,并尝试不同的索引方法。现在尝试一下np.matrix数组。注意形状。

In [2]: A = np.arange(6).reshape(2,3)
In [3]: A[1]   # short for A[1,:]
Out[3]: array([3, 4, 5])    # shape (3,)
In [4]: A[1][2]   # short for A[1,:][2]
Out[4]: 5
In [5]: M=np.matrix(A)
In [6]: M[1]
Out[6]: matrix([[3, 4, 5]])   # shape (1,3), 2d
In [7]: M[1][2]
...
IndexError: index 2 is out of bounds for axis 0 with size 1

适用于两者的正确索引

In [9]: A[1,2]
Out[9]: 5
In [10]: M[1,2]
Out[10]: 5

A[i][j]=...在 LHS 上使用时也容易出现故障。仅当第一部分有效时A[i]返回一个view。如果失败,如果它产生一个copy.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

读取 numpy 矩阵的一个特定单元格 的相关文章

  • 计算对象数组内的数组数量

    假设我有一个对象数组 预期产量 阿尔法 4 贝塔 8 为此我尝试过 const apple name alpha details attachment 123 456 attachment 1454 1992 name beta detai
  • scipy cdist 与稀疏矩阵

    我需要计算两组向量之间的距离 source matrix and target matrix 我有以下几行 当两者source matrix and target matrix属于类型scipy sparse csr csr matrix
  • 使用带有通配符的 jquery grep 搜索对象数组

    我正在使用 jquery grep 搜索对象数组 并希望在搜索中包含通配符 例如 我有一个数组如下 courses code ENCH3TH otherFields otherStuff code ENCH3THHS1 otherField
  • 检查数组中是否有 3 个连续值高于某个阈值

    假设我有一个像这样的 np array a 1 3 4 5 60 43 53 4 46 54 56 78 有没有一种快速方法来获取 3 个连续数字都高于某个阈值的所有位置的索引 也就是说 对于某个阈值th 得到所有x其中 a x gt th
  • 如何每隔一行读取 CSV 文件

    如何从 CSV 文件中每 2 行获取数据 例如 如果我有一个看起来像这样的文件 0 1 0 23 34 1 45 45 2 78 16 3 110 78 4 48 14 5 76 23 6 55 33 7 12 13 8 18 76 如何迭
  • 嵌套 NumPy 数组并使用拆分等方法

    我是 NumPy 的新手 正在尝试在我的代码中使用它来处理某些表 我有一个如下所示的坐标列表 coordinates 2 0 0 1 3 4 并想这样写 coordinatesNumpy np array 2 0 0 1 3 4 在常规 P
  • CSR 矩阵 - 矩阵乘法

    我有两个方阵A and B 我必须转换B to CSR Format并确定产品C A B csr C 我在网上找到了很多关于CSR 矩阵 向量乘法 http www mathcs emory edu cheung Courses 561 S
  • 如何计算 numpy 数组中元素的特定范围

    我有一个像这样的数组 import numpy as np data np array 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0
  • 在Python中将数组的元素从科学记数法转换为十进制记数法

    我有一个 numpy 数组 其元素采用科学格式 我想将它们转换为十进制格式 我的 numpy 数组如下所示 array 93495052 96955582 98555123 06146193 array 1 00097681e 09 9 9
  • Pytorch TypeError:eq() 收到无效的参数组合

    num samples 10 def predict x sampled models guide None None for in range num samples yhats model x data for model in sam
  • 布尔 pandas 之间的操作对称性破缺。具有不等索引的系列

    隐式索引匹配pandas用于不同之间的操作DataFrame Series很棒 而且大多数时候 它都有效 但是 我偶然发现了一个无法按预期工作的示例 import pandas as pd 0 21 0 import numpy as np
  • 如何从列中创建对称矩阵?

    例如 我想转动以下列 90 175 600 650 655 660 代入矩阵 90 175 600 650 655 660 175 600 650 655 660 655 600 650 655 660 655 650 650 655 66
  • Objects.deepToString(Object o) 方法

    班上java util Objects包含deepEquals Object a Object b 可用于比较任何类型的对象 包括数组和空引用 的方法 但不包含类似的方法deepToString Object o 这令人失望 顺便说一下 这
  • 为什么零长度 VLA 是 UB?

    2011年标准明确规定 6 7 6 2 数组声明符 如果大小是一个不是整数常量表达式的表达式 如果它出现在 在函数原型范围内声明 它被视为被替换为 否则 每次评估时 其值都应大于零 每个实例的大小 变长数组类型的值在其生命周期内不会改变 其
  • 将滑块添加到 matplotlib 图表

    我有一个 matplotlib 代码 可以生成一个简单的 2D 图表 我想为 hte 和 hre 变量 它们是数组 添加滑块小部件 以便可以交互地增加或减少 hte 和 hre 值 有没有办法 我确信有 因为我已经看到了某物 http ma
  • 查找整数数组中的最大/最小出现次数

    我刚刚编写完一个算法 该算法可以在输入整数数组中查找出现次数最多 最少的值 我的想法是对数组进行排序 所有出现的地方现在都按顺序排列 并使用
  • 将 numpy 数组写入文本文件的速度

    我需要将一个非常 高 的两列数组写入文本文件 而且速度非常慢 我发现如果我将数组改造成更宽的数组 写入速度会快得多 例如 import time import numpy as np dataMat1 np random rand 1000
  • 静态数组VS。 C++11 中的动态数组

    我知道这是一个非常古老的争论 全世界已经讨论过很多次了 但我目前很难决定在特定情况下应该使用静态数组和动态数组之间的哪种方法而不是另一种方法 实际上 我不会使用 C 11 我会使用静态数组 但我现在很困惑 因为两者可能有相同的好处 第一个解
  • 根据开始列和结束列扩展数据框(速度)

    我有一个pandas DataFrame含有start and end列 加上几个附加列 我想将此数据框扩展为一个时间序列 从start值并结束于end值 但复制我的其他专栏 到目前为止 我想出了以下内容 import pandas as
  • 具有屏蔽无效值的 pcolormesh

    我试图将一维数组绘制为 pcolormesh 因此颜色沿 x 轴变化 但每个 x 的 y 轴保持不变 但我的数据有一些错误值 因此我使用屏蔽数组和自定义颜色图 其中屏蔽值设置为蓝色 import numpy as np import mat

随机推荐

  • Ajax 和后退按钮。哈希值发生变化,但是之前的页面状态存储在哪里?

    我试图让 ajax 与后退按钮一起工作 但缺少一些核心内容 之前的页面状态存储在哪里 CASE 1 点击 让我变红 ajax事件发生并且页面变成红色 哈希 red 点击 让我变黄 ajax事件发生并且页面变成黄色 哈希 yellow 单击后
  • 在未安装 VB6 的情况下运行 VB6 应用程序

    我的问题是 如果我想运行 VB6 应用程序 我必须在客户端计算机上安装 VB6 其实我的VB6版本 无法制作安装文件 所以我只是手动链接到exe文件 有什么方法可以让我不必安装VB6 只需复制一些文件即可运行该应用程序 Thanks 为了运
  • 模块'对象没有属性'drawMatches' opencv python

    我只是在 OpenCV 中做一个特征检测的例子 该示例如下所示 它给了我以下错误 module 对象没有属性 drawMatches 我已经检查了 OpenCV 文档 但不确定为什么会收到此错误 有谁知道为什么 import numpy a
  • 如何在nodejs的ejs文件中显示警报

    例如 我想访问文档对象并想使用警报 所以我在 ejs 文件中创建了一个函数 我想在出现错误时显示警报 所以我正在渲染我的 ejs 文件并给出 2 个参数 一个是结果 另一个是错误 并希望显示是否有错误 显示警报 res render app
  • 如何避免在 PHP 7 中的每个文件上重新声明刻度

    Overview 在 PHP 5 6 中似乎添加declare ticks 1 然后使用register tick function 将遵循任何包含并相应地提供分析信息 在 PHP 7 中 但现在看来我必须添加declare ticks 1
  • PHP短路惰性求值,php.net手册在哪里?

    抱歉 如果这听起来像是一个非常愚蠢的问题 但我用 Google 搜索了网络 还专门用 Google 搜索了 php net 网站和 stackoverflow com 网站 我知道 PHP 会短路惰性求值使用时and or 运算符 但是 P
  • Django - 连接两个模型

    对于以下模型 我想检索在历史表中具有指定间隔之间的过渡日期的条目的所有设备 class History models Model device models ForeignKey DeviceModel to field id transi
  • INNER JOIN 和锁

    我有两张桌子TableA and TableB其中有我想要同时检索和更新的信息 当我使用 SELECT TOP 2 SomeFieldA FROM TableA WITH ROWLOCK UPDLOCK READPAST 一切正常 进程 1
  • Angular 2 - 让子组件加载到父组件中(动态创建)

    我正在尝试动态创建标头 构造标头模板并将其作为 字符串 传递给我的动态组件 我的要求是在标头组件模板字符串中调用另一个组件并加载它 已经创建了一个工作Plunker https plnkr co edit ENa23Q1Qqtvi46CYn
  • MarkLogic XML 到 JSON 的转换

    我正在尝试将此 XML 文件转换为 JSON 但无法取得任何成功 我的 XML 中有两个子元素 但它只返回最后一个 如何获取 JSON 格式的两条记录 XML
  • 升级到 XCode 13(和 iOS 15)后选项卡和导航栏发生变化

    我有一个 iOS 应用程序 自从升级到 Xcode 13 以来 我注意到一些特殊的变化Tab and 导航酒吧 在 Xcode 13 中 选项卡和导航栏上现在有这个黑色区域 并且在启动应用程序时 选项卡栏和导航栏现在都是黑色的 奇怪的是 如
  • Busboy-connect 在保存文件结束之前触发(node.js,express)

    我使用 Busboy connect 从客户端获取上传数据 我尝试保存数据 然后 on finish 将状态正常返回到服务器 问题是 on finish 在文件保存结束之前触发 我是否做错了什么或者这就是模块的工作方式 服务器端代码 con
  • DialogFragment设置Dialog的高度

    我刚刚使用第一个对话框使用 DialogFragment 创建的 一切都很好 除了我无法让对话框包装它的布局 我的布局具有所有元素的高度wrap content In MyFragmentDialog我什至找不到一种方法来暗示它可以用来设置
  • 如何使用 AngularJS 使用 Json 数据向服务器发送 DELETE 请求?

    我必须向服务器发送 http DELETE 请求 类型必须是 JSON 对象如下所示 id value 我的第一个方法是以下代码 但到目前为止它不起作用 http delete http blabla server house id val
  • 基于成员变量的不同视图/数据模板

    我有一个名为的视图模型 ViewModelClass 其中包含一个布尔值 我有另一个视图模型 其中包含 ObservableCollection
  • Jquery 检测 iframe 内 body 标记的更改或 keyup

    我有一个jwysiwyg http akzhan github com jwysiwyg help examples 01 basic html我的页面上的内容编辑器控件 该控件的工作原理是在 iframe 中创建自身 其中包含完整的 ht
  • 如何一起使用Mercurial、Maven和Eclipse?

    我目前正在与 5 名大学同事组成的团队一起开发 Java 项目 实际上 我们将在接下来的几天内完成规划阶段 然后开始实施 对于该项目 我们必须使用 Mercurial 通过 Bitbucket org 和 Apache Maven 我们想使
  • JAGS 错误 - 可能涉及以下部分或全部节点的有向循环

    完整数据集包含约 11 000 行 我一直在使用 K 400 运行代码 同时检查代码是否运行 所有行都与地图上的特定单元格相关 并包含从 Sentinel 2 图像和数字高程地图中提取的信息 117 个细胞的子集还包含实地考察中记录的栖息地
  • 带参数的并发 JUnit 测试

    所以我尝试运行并行参数化测试 我有一个解决方案 其中相同的测试可以与提供的参数并行运行 例如说我有以下内容 Test public void someTest1 Test public void someTest2 我可以让 someTes
  • 读取 numpy 矩阵的一个特定单元格

    我编写了一个函数来查看矩阵是否对称 def issymmetric mat if mat shape 0 mat shape 1 return 0 for i in range mat shape 0 for j in range i if