配列 X と配列 search_values が与えられた場合、タスクは、searched_values 内の対応する行に一致する X 内の行のインデックスを見つけることです。
np.where((X==searched_values[:,None]).all(-1))[1]
dims = X.max(0)+1 out = np.where(np.in1d(np.ravel_multi_index(X.T,dims),\ np.ravel_multi_index(searched_values.T,dims)))[0]
について np.ravel_multi_index は、n 次元インデックスの 2D 配列を線形インデックスに変換します。たとえば、X と dims が与えられると、
np.ravel_multi_index(X.T,dims)
が計算され、結果は [30, 66, 61, 24, 41] になります。ここで、各数値は、X の対応する行に相当する線形インデックスを表します。
一意の線形インデックスを生成するために np.ravel_multi_index のディメンションを選択する場合は、次の点を考慮してください:
指定された X の場合:
dims = X.max(0)+1 # [10, 7]
これにより、少なくとも指定された次元を持つグリッドが作成され、一意の線形インデックスが確保されます。 .
以上がNumPy 配列内の値に一致する行インデックスを効率的に見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。