j=np.arange(20,dtype=np.int)
site=np.ones((20,200),dtype=np.int)
sumkma=np.ones((100,20))
[sumkma[site[x],x] for x in range(20)]
これは機能しますが、forループは使用しません。私はシェイプの不一致:インデックス配列をシェイプと共にブロードキャストできませんでした
sumkma[site[j],j]
をしようとすると、私はこのエラーを取得:
IndexError: shape mismatch: indexing arrays could not be broadcast together with shapes (20,200) (20,)
エラーを修正する方法は?
期待する出力の形状は何ですか? – tmbo
私は期待しています(20,200) –
NumPyブロードキャストは、左から右にではなく、右から左に揃えています。 – user2357112