[파이썬][numpy] numpy 배열의 메모리 크기 확인

파이썬에서 수치 연산과 배열 처리에 특화된 라이브러리인 NumPy는 대규모의 배열과 행렬 연산을 간단하게 수행할 수 있게 해줍니다. 하지만 큰 배열을 다룰 때 메모리 사용량을 주의해야 할 필요가 있습니다. 이번 글에서는 NumPy 배열의 메모리 크기를 확인하는 방법에 대해 알아보겠습니다.

배열의 크기와 데이터 타입

NumPy에서 배열을 생성할 때 배열의 크기와 데이터 타입을 명시적으로 지정해야 합니다. 배열의 크기는 행과 열의 수로 구성되고, 데이터 타입은 배열에 저장될 각 원소의 타입을 나타냅니다. 예를 들어, 3x4 크기의 정수 배열을 생성하려면 다음과 같이 코드를 작성할 수 있습니다:

import numpy as np

arr = np.zeros((3, 4), dtype=np.int32)

이 경우, np.zeros 함수를 사용하여 배열을 생성하고, 크기를 (3, 4)로 지정했습니다. 또한, 데이터 타입을 np.int32로 지정하여 정수 값만을 저장할 수 있는 배열을 생성했습니다.

메모리 사용량 확인

NumPy 배열의 메모리 사용량은 nbytes 속성을 통해 확인할 수 있습니다. 이 속성은 배열이 차지하는 총 바이트 수를 반환합니다. 예를 들어, 이전에 생성한 arr 배열의 메모리 사용량을 확인하려면 다음과 같은 코드를 사용할 수 있습니다:

print(arr.nbytes)

위 코드를 실행하면, 배열 arr이 차지하는 총 바이트 수가 출력됩니다.

예제 코드

다음은 NumPy 배열의 메모리 크기를 확인하는 예제 코드입니다:

import numpy as np

# 2x3 크기의 실수 배열 생성
arr = np.ones((2, 3), dtype=np.float64)

# 배열의 메모리 크기 확인
print(arr.nbytes)

위 코드에서는 2x3 크기의 실수 배열을 생성하고, arr 배열의 메모리 크기를 출력하고 있습니다. 실행 결과로는 배열이 차지하는 총 바이트 수가 출력됩니다.

결론

NumPy 배열의 메모리 크기를 확인하는 것은 배열을 다룰 때 메모리 사용량을 예측하고 최적화하는 데 도움이 됩니다. nbytes 속성을 사용하여 간단하게 배열의 메모리 크기를 확인할 수 있으므로, 메모리 사용량에 관심이 있는 경우에는 이 속성을 적극적으로 활용해보세요.