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

조회수 161회

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

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

답변을 하려면 로그인이 필요합니다.

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

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

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.