NumPy 배열을 만드는 방법은 다양합니다.
상황에 맞는 방법을 알면 코드가 훨씬 깔끔해집니다.
리스트로 만들기.
np.array([1,2,3]) — 가장 기본.
np.array([[1,2,3], [4,5,6]]) — 2차원.
dtype 지정 — np.array([1,2,3], dtype=np.float32).
메모리·속도에 영향.
특별한 값으로.
np.zeros((3, 4)) — 3행 4열의 0 배열.
np.ones((2, 3)) — 1로 채움.
np.full((3, 3), 7) — 7로 채움.
np.empty((2, 2)) — 초기화 없이 쓰레기 값(가장 빠르지만 직접 채워 넣을 때만).
범위로.
np.arange(0, 10, 2) — 0부터 10 미만, 2 간격 → [0,2,4,6,8].
np.linspace(0, 1, 5) — 0부터 1까지 균등하게 5개 → [0, 0.25, 0.5, 0.75, 1].
arange는 「간격」, linspace는 「개수」 기준이라는 차이.
기존 배열로.
np.zeros_like(arr) — arr와 같은 모양의 0 배열.
np.empty_like(arr) — 같은 모양 빈 배열.
np.copy(arr) — 깊은 복사.
그리고 np.eye(3) — 3×3 단위 행렬, np.diag([1,2,3]) — 대각 행렬도 자주 씁니다.
한 줄 요약
NumPy 배열 생성은 array(리스트로), zeros·ones·full(특별 값), arange·linspace(범위), zeros_like(같은 모양), eye(단위 행렬) 등 상황별로 다양한 방법이 있습니다.
더 알아볼 것
- dtype 선택의 메모리 영향
- arange vs linspace — 부동소수점 함정
- C order vs F order