Python/NumPy

NumPy 배열 생성 방법

임베디드 친구 2025. 9. 25. 19:56
728x90
반응형

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.zerosnumpy.ones로 배열 생성하기

numpy.zerosnumpy.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.emptynumpy.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