4

shape(50,3)の配列'A'とshape(1,3)の別の配列'B'があります。

実際、このBはAの行です。したがって、その行の場所を見つける必要があります。

を使用np.where(A==B)しましたが、検索された場所が要素ごとに表示されます。たとえば、以下は私が得た結果です:

>>> np.where(A == B)
(array([ 3,  3,  3, 30, 37, 44]), array([0, 1, 2, 1, 2, 0]))

実際、BはAの4行目です(私の場合)。しかし、上記の結果は、要素ごとに一致する(3,0)(3,1)(3,2)などを示しています。

これの代わりに、BがA全体を検索したときに得られる回答である「3」という回答が必要です。また、部分的に一致する(30,1)(37,2)...などの他の回答も削除されます。

Numpyでこれを行うにはどうすればよいですか?

ありがとうございました。

4

1 に答える 1

12

軸を指定できます。

numpy.where((A == B).all(axis=1))
于 2012-06-20T13:29:42.350 に答える