numpy.isin()



Numpy Isin



numpy.isin (element、test_elements、assume_unique = False、invert = False)
test_elementsの要素を計算し、要素のみをブロードキャストします。要素の要素がtest_elementsにある場合はTrue、それ以外の場合はFalseである要素と同じ形状のブール配列を返します。

パラメーター: 要素:array_like
入力配列。

test_elements:array_like
要素の各値をテストする対象となる値。この引数は、配列またはarray_likeの場合はフラット化されます。配列に似ていないパラメータでの動作については、注を参照してください。

仮定_一意:bool、オプション
Trueの場合、入力配列は両方とも一意であると見なされ、計算を高速化できます。デフォルトはFalseです。

反転:bool、オプション
Trueの場合、test_elementsにない要素を計算する場合と同様に、返される配列の値が反転されます。デフォルトはFalseです。 np.isin(a、b、invert = True)は、np.invert(np.isin(a、b))と同等です(ただし、より高速です)。



戻り値: isin:ndarray、bool
要素と同じ形状です。 element [isin]の値はtest_elementsにあります。


次に例を見てください

この関数は、要素がtest_elementsにあるかどうかを判別し、要素と同じ形状のブール値を返すために使用されます。



>>> element = 2*np.arange(4).reshape((2, 2)) >>> element array([[0, 2], [4, 6]]) >>> test_elements = [1, 2, 4, 8] >>> mask = np.isin(element, test_elements) >>> mask array([[ False, True], # 0 with 6 Not in test_elements, so the corresponding position is False [ True, False]]) >>> element[mask] # Print out the value according to the Boolean value of the corresponding position, which is one-dimensional array([2, 4])

デフォルトでは invert = False いつ 本当 時間。

>>> mask = np.isin(element, test_elements, invert=True) >>> mask array([[ True, False], # Unlike the above example, it is not in test_elements, the corresponding position is True [ False, True]]) >>> element[mask] array([0, 6])

注意: Test_elementは配列でなければなりません。設定されている場合、または他の形式の場合、test_elementsは全体として扱われます。例をご覧ください。

>>> test_set = {1, 2, 4, 8} >>> np.isin(element, test_set) array([[ False, False], [ False, False]])

例からわかるので、もっと注意してください。もちろん、test_elementsは必ずしも1次元である必要はなく、elementと同じ形状にすることもできます。



>>> np.isin(element, list(test_set)) array([[ False, True], [ True, False]])