、私は2つのnumpyのアレイ、別の配列の2番目のdimのインデックスとしてnumpy配列を使用していますか?
A = np.array(
[[0,1],
[2,3],
[4,5]])
B = np.array(
[[1],
[0],
[1]], dtype='int')
を有し、IはA
の各行からの1つの要素を抽出すると、その要素はB
によって索引付けされるので、私は以下の結果たい:
C = np.array(
[[1],
[2],
[5]])
を
A[:, B.ravel()]
を試しましたが、私が欲しいのではなく、B
を放送します。また、np.take
を見て、私の問題に適切な解決策ではないようです。
しかし、私は、A
を転置によって
np.choose(B.ravel(), A.T)
が、他のよりよい解決策をnp.choose
を使用することができますか?
可能な重複:http://stackoverflow.com/q/37878946/190597 – unutbu
@unutbuさて、ここでは異なるの並べ替え、我々は行ごとに一つの要素として選択されますリンクされた前の質問の行ごとに複数の要素に反対する。 – Divakar
@Divakar:オペレータが2D配列「C」を望む場合、リンクされたページ上の答えは、望む結果を正確に与えます。 – unutbu