python-如何选择满足条件的行

考虑三个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产生数组,其中满足涉及y和z的条件.
例如,“提取x,其中y z = 2”将返回:

np.array([3, 7])

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

解决方法:

>>> 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])
上一篇:PHP数组预定义常量(2021.08.05)


下一篇:mysql02-mysql的json操作函数