NumPy 배열 생성 방법
안녕하세요! 오늘은 "소프트웨어 공장" 블로그에서 NumPy 배열을 생성하는 다양한 방법에 대해 알아보겠습니다. Python에서 수치 데이터를 다루기 위해 NumPy는 매우 강력하고 유용한 라이브러리입니다. 특히, 데이터를 다루는 첫걸음은 배열(array)을 생성하는 것이겠죠. 이번 포스팅에서는 NumPy 배열을 생성하는 방법과 각 방법의 특성을 코드 예제와 함께 살펴보겠습니다.
1. numpy.array
로 배열 생성하기
numpy.array
는 가장 기본적인 배열 생성 함수입니다. 기존의 Python 리스트나 튜플을 NumPy 배열로 변환할 때 주로 사용됩니다.
import numpy as np
# Python 리스트를 NumPy 배열로 변환
list_data = [1, 2, 3, 4, 5]
array = np.array(list_data)
print("Python 리스트:", list_data)
print("NumPy 배열:", array)
print("배열 타입:", type(array))
특징
- Python 리스트나 튜플 등 다른 데이터 구조를 쉽게 NumPy 배열로 변환 가능
- 배열의 데이터 타입은 자동으로 추론되며, 필요에 따라 명시적으로 지정할 수 있음
# 데이터 타입 명시
array_float = np.array([1, 2, 3], dtype=float)
print("float 타입 배열:", array_float)
2. numpy.arange
로 배열 생성하기
numpy.arange
는 Python의 range
함수와 유사하게, 일정한 간격의 숫자로 이루어진 배열을 생성합니다.
# 0부터 9까지의 정수 배열 생성
array = np.arange(10)
print("0부터 9까지의 배열:", array)
# 시작, 끝, 간격을 지정하여 생성
array_with_step = np.arange(1, 10, 2)
print("1부터 9까지 2씩 증가하는 배열:", array_with_step)
특징
- 정수뿐만 아니라 실수 범위도 지원
array_float = np.arange(0, 1, 0.1)
print("0부터 1까지 0.1 간격의 배열:", array_float)
3. numpy.linspace
로 배열 생성하기
numpy.linspace
는 시작값과 끝값 사이를 일정한 간격으로 나눈 값을 가지는 배열을 생성합니다. 주로 그래프를 그릴 때 유용합니다.
# 0부터 1까지 5개의 값을 가지는 배열 생성
array = np.linspace(0, 1, 5)
print("0부터 1까지 균등 간격으로 나뉜 5개의 값:", array)
# 끝값 포함 여부 지정
array_exclude_end = np.linspace(0, 1, 5, endpoint=False)
print("끝값 제외한 배열:", array_exclude_end)
특징
- 배열의 요소 개수를 정확히 지정 가능
- 끝값을 포함하거나 제외하는 옵션 제공
4. numpy.zeros
와 numpy.ones
로 배열 생성하기
numpy.zeros
와 numpy.ones
는 각각 모든 요소가 0 또는 1로 초기화된 배열을 생성합니다.
# 1차원 배열 생성
zeros_array = np.zeros(5)
print("0으로 초기화된 배열:", zeros_array)
# 2차원 배열 생성
ones_array = np.ones((2, 3))
print("1로 초기화된 2x3 배열:")
print(ones_array)
특징
- 배열의 크기(shape)를 지정 가능
- 초기화 값이 0 또는 1로 고정
5. numpy.empty
와 numpy.full
로 배열 생성하기
numpy.empty
는 초기화되지 않은 배열을 생성하며, numpy.full
은 모든 요소가 특정 값으로 초기화된 배열을 생성합니다.
# 초기화되지 않은 배열 생성
empty_array = np.empty((2, 3))
print("초기화되지 않은 배열:")
print(empty_array)
# 특정 값으로 초기화된 배열 생성
full_array = np.full((2, 3), 7)
print("모든 요소가 7로 초기화된 배열:")
print(full_array)
특징
empty
는 메모리 공간을 그대로 사용하기 때문에 초기 값이 불확실full
은 사용자 정의 값을 배열의 모든 요소로 설정
6. 난수 배열 생성하기 (numpy.random
)
numpy.random
모듈을 사용하면 난수로 이루어진 배열을 생성할 수 있습니다.
# 0과 1 사이의 난수를 가지는 배열 생성
random_array = np.random.rand(5)
print("0과 1 사이의 난수 배열:", random_array)
# 정수 난수 배열 생성
random_int_array = np.random.randint(1, 10, size=(2, 3))
print("1부터 9 사이의 정수 난수 배열:")
print(random_int_array)
특징
- 다양한 난수 생성 함수 제공
- 배열 크기 및 범위를 자유롭게 지정 가능
결론
이번 포스팅에서는 NumPy 배열을 생성하는 다양한 방법에 대해 살펴보았습니다. array
, arange
, linspace
부터 zeros
, ones
, empty
, full
및 난수 생성 함수까지, 각 방법은 특정 상황에서 유용하게 사용할 수 있습니다.
NumPy는 데이터를 다루는 데 있어서 강력한 도구를 제공합니다. 따라서 이러한 배열 생성 방법들을 숙지하면 데이터 처리와 분석 작업이 훨씬 수월해질 것입니다.
'Python > NumPy' 카테고리의 다른 글
NumPy 배열의 인덱싱 이해하기 (0) | 2025.09.28 |
---|---|
NumPy 배열의 데이터 타입 이해하기 (0) | 2025.09.27 |
NumPy 배열의 속성 확인하기 (0) | 2025.09.26 |
NumPy가 제공하는 주요 기능 소개 (0) | 2025.09.24 |
NumPy란 무엇인가? (0) | 2025.09.23 |