Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Numpy:过滤并行阵列_Python_Numpy - Fatal编程技术网

Python Numpy:过滤并行阵列

Python Numpy:过滤并行阵列,python,numpy,Python,Numpy,我有两个并行的numpy数组,我只想保留a值大于3的元素: import numpy as np a = np.array([1, 2, 3, 4, 5]) b = np.array([0.1, 0.15, -0.3, 23.4, 112.5]) c = np.array(list(zip(a, b))) c = c[c[:, 0] > 3].T a = c[0] b = c[1] 我该怎么做呢?您可以使用布尔索引: a[a > 3] # array([ 4., 5.])

我有两个并行的numpy数组,我只想保留a值大于3的元素:

import numpy as np

a = np.array([1, 2, 3, 4, 5])
b = np.array([0.1, 0.15, -0.3, 23.4, 112.5])

c = np.array(list(zip(a, b)))

c = c[c[:, 0] > 3].T

a = c[0]
b = c[1]

我该怎么做呢?

您可以使用布尔索引:

a[a > 3]
# array([ 4.,  5.])

b[a > 3]
# array([  23.4,  112.5])


请注意,如果实际执行第一行,将更改第二行的输出(并可能由于长度不匹配而引发异常?),如果不将结果赋回
a
,则不会更改,布尔索引不会修改数组。因为结果[23.4112.5]是b中唯一两个值大于3的结果,数组(['a','b','c','d','e'])是一个更清晰的例子
a, b = a[a > 3], b[a > 3]