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
반응형