파이썬 array 관련해서 질문합니다.

행렬이 주어지고 원하는 크기로 잘랐을 때 잘린 나머지 부분도 출력했으면 하는데 어떻게 해야할까요?

B= np.array([[0, 1, 0,  0,  1,  1,  0,  1,  0,  0],
             [1, 0, 1,  1,  0,  1,  0,  1,  1,  0],
             [0, 1, 0,  1,  1,  0,  0,  0,  1,  0],
             [0, 1, 1,  0,  0,  0,  1,  0,  1,  1],
             [1, 0, 1,  0,  0,  1,  1,  0,  1,  0],
             [1, 1, 0,  0,  1,  0,  0,  0,  1,  1],
             [0, 0, 0,  1,  1,  0,  0,  1,  0,  0],
             [1, 1, 0,  0,  0,  0,  1,  0,  0,  1],
             [0, 1, 1,  1,  1,  1,  0,  0,  0,  0],
             [0, 0, 0,  1,  0,  1,  0,  1,  0,  0]])

new = [2,1,3,4,6,7,5,9,8,0]
B1 = np.array([[B[i][j]for j in new] for i in new])

slice = 3
for j in xrange(0,10,3):
    print B1[j:j+3,j:j+3]

이 상태에서 출력을 하게 되면 3x3크기로 잘려나오게 되는데 나머지 잘려지지 않은 원소들도 출력하고 싶습니다.

ex) print 
slice = 3

[[0 1 1]
 [1 0 1]
 [1 1 0]]
[[0 1 0]
 [1 0 1]
 [0 1 0]]
[[0 1 1]
 [1 0 0]
 [1 0 0]]
[[0]]
-----------
잘리지 않은 나머지들

      [[ 1, 0, 0, 0, 0, 1, 0],
       [ 0, 0, 1, 1, 0, 1, 1],
       [ 0, 1, 0, 0, 1, 1, 0],
       [1, 0, 0, 1, 0, 1, 1],
       [0, 0, 1,  0, 0, 0, 0],
       [0, 1, 0,  0, 1, 0, 1],
       [0, 1, 0, 1, 0,  0, 1],
       [0, 0, 1, 0, 0, 1,  0],
       [1, 1, 1, 1, 0, 0,  0],
       [0, 1, 0, 1, 0, 1, 1, 0, 0]


  • 일단 numpy 의 array 는 수정이 불가능합니다. 그리고 잘리지 않은 나머지 라는 것도 행렬이 아니네요. 정영훈 2018.12.4 19:07
  • 답변 감사합니다. johnny92 2018.12.4 20:21

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.