特定のnumpy配列内のすべての文字列エントリが2番目のnumpy配列に含まれているかどうかを確認する効率的な方法を探しています。以下の例を参照してください。Array_1 は、チェックする必要がある最小限の動物です。この関数は、動物が含まれていない場合、または動物の一部が含まれていない場合は False を返し、3 匹すべてが (任意の順序で) 含まれている場合は True を返します。
import numpy as np
array_1 = np.array(['cat', 'dog', 'goat'])
array_2 = np.array(['cat', 'monkey', 'zebra', 'pig', 'goat', 'horse', 'dog'])
array_3 = np.array(['peacock', 'horse', 'zebra', 'pig', 'cat', 'horse', 'dog', 'sheep'])
compare_function(array_1, array_2)
私の現在のソリューションには、内部に for ループと if ステートメントが多すぎます。私はすでにnumpy配列の論理演算を見てきましたが、配列の長さが同じではなく、必ずしも同じ動物の順序ではないため、それらは完璧ではないように思えました!?