Programming Language/NumPy Library
[Python] 넘파이 1차원 , 2차원 배열 연산과 브로드캐스팅
처카푸
2024. 4. 7. 17:05
1차원 배열의 연산
data = [10, 20, 5, 8, 10, 33, 56, 9, 11, 45, 87, 9, 22, 548, 362, 92]
data 의 모든 정보에 +5 를 해라
- 넘파이가 아닌 기본 data 리스트를 사용한 1차원 배열 연산
new_data = [ ] # 새로운 리스트 생성
for item in data : # 데이터 안에서 하나씩 꺼내서 저장할 item 변수 생성
new_data.append(item+5) # item 변수에 +5를 하고 새로운 리스트에 더한 값을 넣어라
new_data
# [15, 25, 10, 13, 15, 38, 61, 14, 16, 50, 92, 14, 27, 553, 367, 97]
- 넘파이가 아닌 기본 data 리스트를 사용한 리스트 컴프레이션
new_data = [ item+5 for item in data ]
new_data
# [15, 25, 10, 13, 15, 38, 61, 14, 16, 50, 92, 14, 27, 553, 367, 97]
기본 data 리스트를 NumPy 로 바꿔서 연산
- 각 요소마다 연산이 수행되는 브로드캐스팅
- 어레이 리스트에 +5 연산만 해주면 알아서 계산 된다
np.array(data)
# array([ 10, 20, 5, 8, 10, 33, 56, 9, 11, 45, 87, 9, 22, 548, 362, 92])
np.array(data) + 5
# array([ 15, 25, 10, 13, 15, 38, 61, 14, 16, 50, 92, 14, 27, 553, 367, 97])
NumPy 2차원 배열의 연산
- 모든 배열에 바로 모든 연산 가능하다!!
X
# array([[ 9, 25, 68, 88, 80],
# [49, 11, 95, 53, 99],
# [54, 67, 99, 15, 35],
# [25, 16, 61, 59, 17]])
X + 5
# array([[ 14, 30, 73, 93, 85],
# [ 54, 16, 100, 58, 104],
# [ 59, 72, 104, 20, 40],
# [ 30, 21, 66, 64, 22]])
X * 10
# array([[ 90, 250, 680, 880, 800],
# [490, 110, 950, 530, 990],
# [540, 670, 990, 150, 350],
# [250, 160, 610, 590, 170]])