2017-02-07 4 views
-1

とともに放送することができなかった。はIndexError:形状ミスマッチ:インデクシングアレイはコードのこの部分の形状(2)(9)

for k, v in Candidates.iteritems(): 
     Device = XDevice[XDevice[:, 1] == k, np.array([2, 3, 4, 5, 6, 7, 8, 9, 10])] 

IこれはIndexErrorをした:

shape mismatch: indexing arrays could not be broadcast together with shapes (2,) (9,) 
+0

こんにちは。あなたは 'XDevice'についていくつかの情報を与えることができますか? –

+0

https://docs.scipy.org/doc/numpy/user/basics.broadcasting.html –

+0

を参照してください。ここで、XDevicesは次のものを含むnp.arrayです。 [[26. 58. 3. 12. 4. - 1。 21. 32. 131.1] [24. 30. 1. 24. 3. -1。 70. 113. 5. 1. 1. 188.] [40. 8. 2. 0. 9. 0. 33. 0 14. 14. 1. 201.] ... –

答えて

0

両方のディメンションで同時に選択できないようです。

二行で分割して:

for k, v in Candidates.iteritems(): 
     Device_ = XDevice[XDevice[:, 1] == k,:] 
     Device = Device_[:,np.array([2, 3, 4, 5, 6, 7, 8, 9, 10]) 
+0

回答ありがとうございます;) –

+0

同じコードで別の問題が発生しました:row = np.concatenate((Device、Cookie)) ValueError:すべての入力配列の寸法が同じでなければなりません –

+0

I Cookieに関する情報はありませんが、連結されていない次元の形状がDevice!のものと等しい2次元配列でなければなりません。 それ以外の場合は、エラーが発生します –