2017-06-15 40 views
1

多次元配列に多次元ブールインデックスを使用しようとしています。ここに私がしようとしているものの簡単なバージョンがあります。多次元ブールインデックス多次元配列へ

import numpy as np 
pf=np.array([[[-67. ,-20.35, 1], 
       [-46.35, 33.25, 2], 
       [ 1 , 2 , 1], 
       [ 4 , 4 , 4]], 
      [[-64. ,-70.35, 8], 
       [-46.35, 33.25, 7], 
       [ 3 , 7 , 8], 
       [ 9 , 3 , 2]]]) 
booly=np.array([[False, True, False, False], 
       [False, False, False, True]]) 
Iはループせず、最終的な(2,3)配列得るために、私の初期の(2,4,3)配列から真の値を選択することが私のブール配列を使用したい

truth=np.array([[-46.35, 33.25, 2], 
       [ 9 , 3 , 2]]) 

私は試して失敗しました。みんなありがとう。

答えて

2

numpyのはboolean indexingをサポートしています。

res = pf[booly] 
print(res) 
# [[-46.35 33.25 2. ] 
# [ 9.  3.  2. ]] 
+0

私はそれを試してみました、それは私の知る限り、それは以外まったく同じである言うことができるように、私の本当の人生のコードで作業されていない理由を私は理解できません寸法がはるかに大きいという事実。どこかでエラーがあるはずです。ありがとう、少なくとも私は私が狂っていないことを知っている – Canuck

+0

私はヘッドシェイクのために私のエラーありがとうを考え出した – Canuck