1. 배열 생성 (Creation)
import numpy as np
# 리스트로 배열 생성
arr = np.array([1, 2, 3, 4, 5])
# 0 또는 1로 채워진 배열 (형태 지정)
zeros = np.zeros((2, 3)) # 2행 3열의 0
ones = np.ones((3, 3)) # 3행 3열의 1
# 연속된 숫자 배열
range_arr = np.arange(0, 10, 2) # 0부터 10 미만까지 2씩 증가
linspace_arr = np.linspace(0, 1, 5) # 0부터 1까지 일정한 간격으로 5개 생성
2. 배열의 형태 변경 (Reshaping)
import numpy as np
# 1차원 배열을 2차원(3x4)으로 변경
a = np.arange(12)
reshaped = a.reshape(3, 4)
# -1을 사용하면 다른 차원에 맞춰 자동으로 계산됨
auto_reshaped = a.reshape(-1, 2) # 행은 알아서 계산하고 열은 2로 고정
# 차원 늘리기 (Slicing 활용)
expanded = a[np.newaxis, :] # (1, 12) 형태로 변경
3. 인덱싱과 슬라이싱 (Indexing & Slicing)
import numpy as np
arr2d = np.array([[1, 2, 3], [4, 5, 6]])
# 특정 행/열 추출
first_row = arr2d[0, :] # 첫 번째 행 전체
second_col = arr2d[:, 1] # 두 번째 열 전체
# 불리언 인덱싱 (필터링)
mask = arr2d > 3
filtered = arr2d[mask] # 3보다 큰 값만 추출: [4, 5, 6]
print(filtered)
4. 통계 및 연산 (Math & Stats)
| 코드 | 기능 |
| np.sum(arr) | 전체 요소의 합계 |
| np.mean(arr) | 전체 요소의 평균 |
| np.std(arr) | 표준 편차 |
| np.max(arr)np.min(arr) | 최댓값 / 최솟값 |
| np.argmax(arr) | 최댓값이 있는 위치(인덱스) 반환 |
5. 브로드캐스팅 (Broadcasting)
서로 다른 크기의 배열끼리 연산할 때 자동으로 크기를 맞춰주는 기눙
import numpy as np
a = np.array([1, 2, 3])
b = 2
# 배열의 각 요소에 2가 더해짐
result = a + b # [3, 4, 5]
print(result)
6. 난수 생성 (Random)
import numpy as np
# 0~1 사이의 균일 분포 난수 (2x3 크기)
rand_val = np.random.rand(2, 3)
# 표준 정규 분포 난수
randn_val = np.random.randn(2, 3)
# 특정 범위 내 정수 난수
randint_val = np.random.randint(0, 10, size=(5,))
print(result)
7. np.vstack (Vertical Stack)_배열 수직으로 쌓기
import numpy as np
# 두 개의 1차원 배열
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
# 위아래로 쌓기
v_result = np.vstack((a, b))
print(v_result)
# 출력:
# [[1 2 3]
# [4 5 6]]
# (2, 3) 형태의 2차원 행렬이 됨
8. np.hstack (Horizontal Stack)_배열 옆으로 쌓기
import numpy as np
# 두 개의 1차원 배열
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
# 옆으로 이어 붙이기
h_result = np.hstack((a, b))
print(h_result)
# 출력: [1 2 3 4 5 6]
# 1차원 배열끼리 hstack을 하면 옆으로 길게 붙은 1차원 배열이 됨
'AI딥러닝 > Python' 카테고리의 다른 글
| Vue3.js 시작 (0) | 2026.03.04 |
|---|---|
| 파이썬에서 당뇨병으로 시작하는 머신러닝 (0) | 2026.01.31 |
| 파이썬 그래프와 스프링부트 자바 연동 (0) | 2026.01.26 |
| txt,xlsx,csv 파일을 Oracle DB에 저장해보자! (0) | 2026.01.26 |
| 아나콘다로 시작하는 데이터 분석 - Jupyter (0) | 2026.01.22 |