numpyで二つの二次元配列よりそれぞれ1列目の値を探索し、列の値が同じ場合はその行を抽出し、配列を再構成したいです。
二つの二次元配列の1列目を参照し、同じ値の要素を見つけ出します。
見つけ出したその要素と同じ行の行列を抽出(例えば2行1列目の要素の値が同じであれば、2行目すべてを抽出)したいです。
例えば
a =[[1 10 11 12]
[2 13 14 15]
[3 16 17 18]
[4 19 20 21]]
b= [[2 20 21 22]
[3 23 24 25]
[4 26 27 28]
[5 29 30 31]
[6 32 33 34]]
この二つの配列の1列目を参照して(2,3,4が同じ値のため、その行全体を抽出)
a =[[2 13 14 15]
[3 16 17 18]
[4 19 20 21]]
b= [[2 20 21 22]
[3 23 24 25]
[4 26 27 28]]
のような処理を行いたいです。
参照するのは1列目のみで、2~4列目はただコピーするだけにしたいです。
発生している問題・エラーメッセージ
処理自体は回るのですが、以下のエラーメッセージが出て、すべて0を返してしまいます。
__main__:1: DeprecationWarning: elementwise comparison failed; this will raise an error in the future.
該当のソースコード
python
1 2c = np.where(a[:,0] == b[:,0], a, False) 3
試したこと
common_element = np.intersect1d(a,b) c = np.where(common_element == b[:,0], a, False)
このようなコードで、a,bの共通項を抽出することはできたのですが、全く同じエラーを返してしまいます。
回答2件
あなたの回答
tips
プレビュー