2016-11-27 6 views
2

numpyやscipyを使って、別の大きな行列の中心(または他のx、yのインデックス)に小さな行列を挿入する高速かつ簡単な方法はありますか?ある
、私はそうとBの中央に挿入したい私は行列pythonの別の行列の中心に行列を挿入する

A = [1 2] 
    [3 4] 

とマトリックス

B = [0 0 0 0 0 0] 
     [0 0 0 0 0 0] 
     [0 0 0 0 0 0] 
     [0 0 0 0 0 0] 
     [0 0 0 0 0 0] 
     [0 0 0 0 0 0] 

を持っていると言う:

C = [0 0 0 0 0 0] 
     [0 0 0 0 0 0] 
     [0 0 1 2 0 0] 
     [0 0 3 4 0 0] 
     [0 0 0 0 0 0] 
     [0 0 0 0 0 0] 

答えて

8

あなたがnumpyののスライスを使用することができます表記

nb = B.shape[0] 
na = A.shape[0] 
lower = (nb) // 2 - (na // 2) 
upper = (nb // 2) + (na // 2) 
B[lower:upper, lower:upper] = A 
関連する問題