Data Science/Numpy

[elice numpy] split()으로 배열 나누기, 브로드 캐스팅, 마스킹 연산

Tashapark 2025. 5. 11. 16:33
728x90

*elice 문제 & 강의안

 

- 나누는 기준 행이나 열의 인덱스 값 [] 을 중간에 넣어주기만 하면 됨

- n, m =  np.split(배열, [인덱스], axis=축)

- 이러면 2개의 배열로 나눠짐

import numpy as np

print("matrix")
matrix = np.array([[ 0, 1, 2, 3],
                   [ 4, 5, 6, 7],
                   [ 8, 9,10,11], 
                   [12,13,14,15]])
print(matrix, "\n")

# Q1. matrix를 [3] 행에서 axis 0으로 나누기
'''
[[0  1   2  3]
 [4  5   6  7]
 [8  9  10 11]],

 [12 13 14 15]
'''
a, b = np.split(matrix, [3], axis =0 )

print(a, "\n")
print(b, "\n")


# Q2. matrix를 [1] 열에서 axis 1로 나누기
'''
[[ 0]
 [ 4]
 [ 8]
 [12]],

[[ 1  2  3]
 [ 5  6  7]
 [ 9 10 11]
 [13 14 15]]
'''

c, d = np.split(matrix, [1], axis = 1)

print(c, "\n")
print(d)

 


[브로드 캐스팅]

- shape이 다른 array끼리도 연산 가능

- 계산법 맨날 모르겠었는데, 저렇게 차원을 늘려서 대응되는 값의 행렬 수와 맞춘다고 하면 이해가 됨. 

 

[집계함수]

- 누적 계산도 행으로 할지 열로 할지 방향이 달라짐.  

 

- 마스킹 연산 매번 헷갈리는데..

- 기준 값을 다시 []인덱스 표시 안에 넣으면 됨. 

 

 

728x90
반응형