np.in1d

np.in1d(ar1, ar2, invert=False)

检查第一个数组中的每个元素是否也存在于第二个数组中

  • ar1: 第一个数组
  • ar2: 第二个数组
  • invert: 是否将返回值翻转,默认为False

返回一个数组,如果ar1中的元素在ar2中存在,则数组对应元素为True,反之为False

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
ar1 = np.array([0, 1, 2, 5, 0])
ar2 = [0, 2]
mask = np.in1d(ar1, ar2)
'''
mask
[ True False True False True]

ar1[mask]
[0 2 0]
'''


mask = np.in1d(test, states, invert=True)
'''
mask
[False True False True False]
'''