Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。
Q&A
解決済
2回答
1633閲覧
総合スコア7
0グッド
0クリップ
投稿2020/08/08 04:58
0
numpyを使って、次の行列AとBを行ごとに比較して行の一致した数を出力したいです。 この比較をする方法を教えて欲しいです。
python1import numpy as np 2A=np.array([1,2,3],[2,3,4],[1,2,3]) 3B=np.array([1,2,3]) 4
python
1import numpy as np 2A=np.array([1,2,3],[2,3,4],[1,2,3]) 3B=np.array([1,2,3]) 4
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
回答2件
(A == B).all(axis=1)でAの各行がBに一致するかどうかが True, Falseで得られるので、np.count_nonzeroでTrueの数を数える。
(A == B).all(axis=1)
np.count_nonzero
Python1import numpy as np 2A = np.array([[1, 2, 3], [2, 3, 4], [1, 2, 3]]) 3B = np.array([1, 2, 3]) 4 5print(np.count_nonzero((A == B).all(axis=1)))
Python
1import numpy as np 2A = np.array([[1, 2, 3], [2, 3, 4], [1, 2, 3]]) 3B = np.array([1, 2, 3]) 4 5print(np.count_nonzero((A == B).all(axis=1)))
投稿2020/08/08 05:44
総合スコア11992
ベストアンサー
Python1import numpy as np 2 3A=np.array([[1,2,3],[2,3,4],[1,2,3]]) 4B=np.array([1,2,3]) 5cnt = 0 6for line in A: 7 if (line == B).all(): 8 cnt += 1 9print(cnt) # 2
1import numpy as np 2 3A=np.array([[1,2,3],[2,3,4],[1,2,3]]) 4B=np.array([1,2,3]) 5cnt = 0 6for line in A: 7 if (line == B).all(): 8 cnt += 1 9print(cnt) # 2
投稿2020/08/08 05:07
総合スコア38350
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
numpyの行列比較について
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。