我想使用列表理解而不是使用追加方法,因为它使代码运行得更快,但是当它是 numpy 数组时它不起作用。
import numpy as np
a = np.array([1, 2 , 4])
b = np.array([6, 5 , 2])
A = []
B = []
for i in range(0, 3):
if a[i] > value1 and b[i] > value1:
A.append(a[i])
B.append(b[i])
例如我正在尝试这样的事情:
A = [a[i] for i in range(1, 3) if a[i] > value1 and b[i] > value1]
最后有没有一种方法可以定义一个通用函数,该函数根据上述示例中的 if 条件将数字数组中的元素追加到新列表中。
Numpy 数组没有追加方法。您也不应该将
for
循环与 numpy 数组一起使用,因为这很慢。相反,使用矢量化操作并利用广播。
cond = a > value1 & b > value1
A = a[cond]
B = b[cond]