考虑三个numpy数组:

x = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) 
y = np.array([0, 1, 0, 1, 0, 1, 0, 1, 0, 1])
z = np.array([0, 0, 1, 1, 0, 0, 1, 1, 0, 0])

如何从x生成数组,其中满足涉及yz 例如, "extract x where y+z = 2"将返回:

np.array([3, 7])

(因为我有很多数据,我希望它尽可能快)

===============>>#1 票数:4 已采纳

>>> x = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> y = np.array([0, 1, 0, 1, 0, 1, 0, 1, 0, 1])
>>> z = np.array([0, 0, 1, 1, 0, 0, 1, 1, 0, 0])

>>> y + z == 2
array([False, False, False,  True, False, False, False,  True, False, False], dtype=bool)

# here y+z==2 returns a boolean array that can be used to index x
>>> x[y + z == 2]
array([3, 7])

  ask by Vincent translate from so

未解决问题?本站智能推荐:

2回复

根据复杂条件选择和重新分配数组中元素的最快方法

什么是基于numpy中复杂条件选择和重新分配元素的最快方法,例如: 解决方案是使用np.vectorize吗? 或np.select也许?
1回复

Python:使用数组作为另一个数组的条件

是否可以简单地使用类似以下的数组: 作为另一个数组的条件数组? 我有例如一个数组: 数组b中所有也在数组a中的所有数字都应为1,例如: 返回: 所以有一个快速的numpy版本可以做到这一点。 因为实际的数组是一个巨大的3d数组,具有许多数字,所以可以将其展平
2回复

numpy nonzero()返回按行索引排序的索引?

与Matlab中一样, nonzeros返回按列排序的索引。 在NumPy ,似乎返回的索引按行排序(对于2D矩阵)。 但这未在其文档中阐明。 因此,可以安全地假设这一点吗? 一个例子: 给出array([2, 3])而不是array([3, 2]) 。
3回复

将numpy数组转换为映射到行的值的字典

考虑一下我有一个二维的numpy数组,其中每一行代表一个唯一的项目,行中的每一列代表分配给该项目的标签。 例如,在这种情况下,一个10 x 25的数组将代表10个项目,每个项目最多具有25个标签。 将其转换为将标签映射到该标签所在的行索引的dict(或其他适当的数据类型,如果可以按长度排
1回复

Numpy用另一个数组的特定行和列替换一个数组的特定行和列

我试图替换Numpy数组的特定行和列,如下所示。 数组a和b的值最初如下: 现在,根据一定的概率,我需要执行的的elementwise替换a与值b (比如,产生一个随机数,后r ,0和1之间的每个元素,我将取代的元件a与的b如果r> 0.8)。 我如何使用numpy /
2回复

比较python中的multidimesional数组的行

我有两个numpy数组 我想比较a和b并返回ab这样: 我试过做: 它导致了 我甚至尝试比较循环中a和b的每一行,它给了我一个错误 任何人都可以帮我解决这个问题???
4回复

根据ID将numpy行转换为列

假设我有一个numpy数组,它映射两种项类型的ID: 我想重新排列此数组,以便新数组中的每一行代表与原始数组中相同ID匹配的所有项。 这里,每列代表原始数组中的一个映射,直到新数组中列数的指定形状限制。 如果我们想从上面的数组中获得这个结果,确保我们只有2列,我们将获得: 这
4回复

从txt中读取具有不同大小的行的值到单个numpy数组中

我需要读取具有以下结构的文件: 我需要在单个数组中读取此文件= [1,2,3,...,23,24] 如何在numpy中做到这一点? 使用设: 没用:
1回复

单独选择和倍增每个掩模的n-du-2元素(无循环)

我有一个numpy二维热图和两个重叠的面具(不同的大小)。 我希望将这些掩码中的元素与每个掩码的唯一numpy数组相乘。 首先,我从其中一个掩码中删除重叠坐标。 比我想在不使用循环的情况下为每个蒙版提取热图元素。 其原因在于,实际上我有超过10000个掩码,其中可变数字重叠。 另外
3回复

检测多个numpy 2-d数组中的第一个唯一行

我有多个numpy 2-d数组,我想比较行。 我的函数的输出应该是一个numpy二维数组,表示三个输入数组的所有行。 我希望能够检测到第一次出现行,每秒或第三个重复行应该在输出中标记为False。 单个数组中不可能有重复的行。 如果有可能我想避免使用循环,因为它们会降低计算速度。