当前位置: 首页 > 面试题库 >

如何在Python中的2d数组中找到值的索引?

房光临
2023-03-14
问题内容

我需要弄清楚如何在二维numpy数组中找到值的所有索引

例如,我有以下2d数组:

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

我需要找到所有1和0的索引。

1: [(0, 0), (0, 1), (1, 2), (1, 3)]
0: [(0, 2), (0, 3), (1, 0), (1, 1), (the entire all row)]

我试过了,但是并没有给我所有的索引:

t = [(index, row.index(1)) for index, row in enumerate(x) if 1 in row]

基本上,它只给我每一行中的一个索引[(0, 0), (1, 2)]


问题答案:

您可以np.where用来返回x和y索引数组的元组,其中给定条件保存在数组中。

如果a是阵列名称:

>>> np.where(a == 1)
(array([0, 0, 1, 1]), array([0, 1, 2, 3]))

如果要列出(x,y)对,则可以zip使用两个数组:

>>> zip(*np.where(a == 1))
[(0, 0), (0, 1), (1, 2), (1, 3)]

或者,甚至更好的是,@ jme指出这np.asarray(x).T可能是生成配对的一种更有效的方法。



 类似资料:
  • 问题内容: 我需要以下程序的帮助: “编写一种将二维双精度数组作为输入参数并返回数组元素平均值的方法。” 谁能告诉我该怎么做? 我当前的代码: 我不知道如何让用户输入数组元素和数组尺寸(行/列)。另外,如何从main调用此方法?我遇到错误。 问题答案: 试试这个: 码: 输出:

  • 问题内容: 对于我的项目,我需要制作一个程序以10个数字作为输入并显示这些数字的模式。该程序应使用两个数组和一个将数字数组作为参数并在数组中返回最大值的方法。 基本上,到目前为止,我所做的是使用第二个数组来跟踪一个数字出现了多少次。查看初始数组,您将看到模式为4。(显示最多的数字)。在第二个数组中,索引4的值为2,因此2将是第二个数组中的最大值。我需要在第二个数组中找到该最大值,然后打印索引。我的

  • 问题内容: 我正在寻找在Java中找到给定元素的索引,并知道其内容的方法。 我尝试了以下示例,该示例不起作用: 谁能解释这个问题是什么以及我需要做些什么来解决它? 问题答案: 在这种情况下,你可以从字符数组中创建一个新的String,然后对该字符串执行indeoxOf(“ e”): 但是在其他原始数据类型的情况下,你必须对其进行迭代。

  • 问题内容: 我想知道Java数组中是否有本机方法来获取给定值的表索引? 假设我的表格包含以下字符串: 假设用户必须输入汽车的类型,然后在后台程序将使用该字符串并获取其在数组中的位置。 因此,如果该人进入:轿车它应该处于位置0并将其存储在由我的程序创建的Cars对象中… 问题答案: 这之后是您的汽车的数组索引,如果不存在则为-1。

  • 问题内容: 说我有这个 这给了我 等等 JavaScript中有什么方法可以返回带有值的索引? 即我想要 200 的索引,我得到 1 。 问题答案: 您可以使用: 如果无法在数组中找到值,则将得到-1。

  • 问题内容: 是2D数组。我想要一个新变量,其值与数组相同。此外, 使用Y进行的任何其他操作都不应影响X的值。 在我看来使用起来很自然。但是它不适用于数组。如果我这样做,然后更改y,x也会更改。我发现问题可以这样解决: 但是它不适用于2D阵列。例如: 返回。如果我替换为,这也无济于事。 有人知道什么是正确且简单的方法吗? 问题答案: 尝试这个: 我不确定,也许就足够了。