Pandas에서 인덱스(Index) 값이 차지하는 메모리 사용량을 확인하려면 index.memory_usage() 메서드를 사용하면 됩니다. 이 메서드는 인덱스가 점유하는 메모리 크기를 바이트(byte) 단위로 반환합니다.
필요한 라이브러리 불러오기
먼저 필요한 라이브러리를 임포트합니다.
import pandas as pd
인덱스 생성하기
정수 값으로 구성된 인덱스를 생성합니다.
index = pd.Index([15, 25, 35, 45, 55])
생성된 인덱스를 출력해 확인합니다.
print("Pandas Index...\n",index)
인덱스 값의 메모리 사용량을 가져옵니다.
print("\nThe memory usage...\n",index.memory_usage())
전체 예제 코드
아래는 위 과정을 모두 포함한 전체 코드입니다. 메모리 사용량뿐만 아니라 요소 개수(size), 데이터 형태(shape), 바이트 수(nbytes), 차원(ndim) 등 인덱스의 다양한 속성도 함께 확인할 수 있습니다.
import pandas as pd
# 인덱스 생성
index = pd.Index([15, 25, 35, 45, 55])
# 인덱스 출력
print("Pandas Index...\n",index)
# 인덱스의 요소 개수 반환
print("\nNumber of elements in the index...\n",index.size)
# 기반 데이터의 형태(shape) 튜플 반환
print("\nA tuple of the shape of underlying data...\n",index.shape)
# 데이터가 차지하는 바이트 수 반환
print("\nReturn the bytes...\n",index.nbytes)
# 데이터의 차원 반환
print("\nReturn the dimensions...\n",index.ndim)
# 값의 메모리 사용량 반환
print("\nThe memory usage...\n",index.memory_usage())
실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Pandas Index... Int64Index([15, 25, 35, 45, 55], dtype='int64') Number of elements in the index... 5 A tuple of the shape of underlying data... (5,) Return the bytes... 40 Return the dimensions... 1 The memory usage... 40
결과 해석
인덱스는 int64 타입의 정수 5개로 구성되어 있으며, int64는 하나의 값당 8바이트를 차지합니다. 따라서 총 메모리 사용량은 5 × 8 = 40바이트가 됩니다. nbytes와 memory_usage()의 결과가 동일하게 40으로 출력된 것을 확인할 수 있습니다.