본문 바로가기

코딩 학원(국비지원)

코딩학원 87일차

반응형

공부내용 정리


  1. array([[0.83614321, 0.01947069, 0.86611722, 0.22491882, 0.38774013],
           [0.07865916, 0.32777648, 0.88740131, 0.17297864, 0.75247535],
           [0.34391344, 0.75748779, 0.07293811, 0.08010135, 0.75554224]])

    위 배열을 변수 y에 저장하고 sum(y)를 하면 세로축을 기준으로 합한다
    np.sum(y, axis=0)와 결과가 같다. axis=0의 뜻은 '열을 기준으로 합한다' 이다. 
     
  2. [-0.08092649  1.29302649  0.28524454 -0.74978274  2.76943012 -0.15174752
     -0.22613222  1.03934212  0.52297483  0.12123509  0.83995396  0.88813528
      0.03734455  0.91564726 -0.17112691] 

    이 배열에서 where 함수를 써서 조건에 따라 선별적으로 값을 선택할 수 있다. 3항연산자와 비슷한 형태. 
np.where(z > 0, z, 0)   #z>0이면 z를 선택하고, z>0이 조건에 부합하지 않으면 0을 선택한다.

결과 : array([0.        , 0.        , 1.24736681, 1.34526277, 0.        ,
                    0.76323324, 0.        , 1.10724656, 0.        , 0.18568893,
                     0.        , 0.        , 0.        , 0.04721508, 0.        ])


    •  0번째에 따라서 압축 시키기. 3차원 각 상자를 겹치게 만드는 효과. 0번째를 삭제했기 때문에 (4, 3)만 남음. axis=0인경우는 이해가 잘 되는데, axis=1, axis=2인 경우가 이해가 되지 않는다. 머리속에 그림이 그려지지 않는다.  
z = np.arange(36).reshape(3,4,3)
print(z)

np.sum(z, axis=0)
더보기

결과 : 

[[[ 0  1  2]
  [ 3  4  5]
  [ 6  7  8]
  [ 9 10 11]]

 [[12 13 14]
  [15 16 17]
  [18 19 20]
  [21 22 23]]

 [[24 25 26]
  [27 28 29]
  [30 31 32]
  [33 34 35]]]
array([[36, 39, 42],
       [45, 48, 51],
       [54, 57, 60],
       [63, 66, 69]])

 

● 배열의 차원(1차원, 2차원 3차원) 

그림을 보고 이해를 해보자. 선생님 말씀으로는 기준이 되는 axis=1 이 축이되면 즉 기준이 되면 그 축을 빼고 연산하는 것이다. 기준이 되는 축을 뺀다.

알게된 사실 : 연산을 하면 차원이 하나 줄어든다. 차원이 줄어드는 것은 압축하는 효과가 있다. 

axis=1이면 열을 기준으로 연산한다. 

 

  • 브로드캐스팅(broadcasting) : 뒷 차원부터 체크한다. 그게 맞으면 연산 가능함. 

 

예제

a = np.arange(12).reshape(4,3)    #4행 3열 
b = np.arange(100, 103)           #1행 3열 벡터     ==3행짜리 벡터?
c = np.arange(1000, 1004)         #1행 4열 벡터     ==4행짜리 벡터? 

print(a)
print(b)
print(c)
print(a.shape)
print(b.shape)        # 브로드캐스팅은 뒷 차원에서부터 비교한다. 
print(c.shape)        # (4,3)와 (3,)은 뒷 차원이 같음. 
                      # (4,3)과 (4,)은 뒷 차원이 달라서 연산이 불가능하다 .

 

반응형

'코딩 학원(국비지원)' 카테고리의 다른 글

89일차 코딩학원  (2) 2023.05.30
코딩학원 88일차. 파이썬, Git  (6) 2023.05.25
코딩학원 86일차  (4) 2023.05.23
85일차 코딩학원  (0) 2023.05.22
84일차 코딩학원(능력단위평가)  (1) 2023.05.19