通过使用布尔条件(array1 > value1) & (array2 > value1)
创建了一个条件掩码,随后直接利用此条件掩码对array1
和array2
进行布尔索引,从而选取元素。这样做避免了显式追加的需要。
以下是改进后的代码示例:
import numpy as np
def 筛选数组(array1, array2, value1):
条件 = (array1 > value1) & (array2 > value1)
return array1[条件], array2[条件]
value1 = 2
a = np.array([1, 2, 4, 3, 4, 7, 8])
b = np.array([6, 5, 2, 5, 7, 8, 9])
A, B = 筛选数组(a, b, value1)
print(A)
print(B)
# 输出:
# [3 4 7 8]
# [5 7 8 9]
或者更简洁的方式:
a = np.array([1, 2, 4, 3, 4, 7, 8])
b = np.array([6, 5, 2, 5, 7, 8, 9])
value1 = 2 # 需要先定义value1变量
掩码 = (a > value1) & (b > value1)
A = a[掩码]
B = b[掩码]
print(A)
print(B)
# 同样输出:
# [3 4 7 8]
# [5 7 8 9]