Pandas에서 RangeIndex를 생성하려면 pandas.RangeIndex() 메서드를 사용하면 됩니다. 먼저 필요한 라이브러리를 임포트합니다.
import pandas as pd
RangeIndex란 무엇인가?
RangeIndex는 단조 증가 또는 감소하는 범위(monotonic range)만 표현할 수 있도록 제한된 Int64Index의 특수한 형태로, 메모리를 절약할 수 있는 것이 가장 큰 장점입니다. 인덱스의 모든 값을 실제로 저장하지 않고 시작값(start), 종료값(stop), 간격(step) 세 가지 정보만 보관하기 때문에 대용량 데이터를 다룰 때 메모리 사용량을 크게 줄일 수 있으며, 경우에 따라 연산 속도 향상에도 도움이 됩니다.
RangeIndex 생성하기
start(시작값), stop(종료값), step(간격) 파라미터를 지정하여 범위 인덱스를 생성합니다. name 파라미터는 인덱스에 저장될 이름을 의미합니다.
index = pd.RangeIndex(start=10, stop=30, step=2, name="data")
생성된 인덱스의 주요 속성은 다음과 같이 확인할 수 있습니다.
start 값 출력
print("\nRangeIndex start value...\n", index.start)stop 값 출력
print("\nRangeIndex stop value...\n", index.stop)step 값 출력
print("\nRangeIndex step value...\n", index.step)전체 예제 코드
지금까지 설명한 내용을 하나의 코드로 정리하면 다음과 같습니다.
import pandas as pd
# start, stop, step으로 범위 인덱스 생성
# name은 인덱스에 저장될 이름입니다.
index = pd.RangeIndex(start=10, stop=30, step=2, name="data")
# RangeIndex 출력
print("RangeIndex...\n", index)
# start 파라미터 값 출력
print("\nRangeIndex start value...\n", index.start)
# stop 파라미터 값 출력
print("\nRangeIndex stop value...\n", index.stop)
# step 파라미터 값 출력
print("\nRangeIndex step value...\n", index.step)실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
RangeIndex... RangeIndex(start=10, stop=30, step=2, name='data') RangeIndex start value... 10 RangeIndex stop value... 30 RangeIndex step value... 2
마무리
이처럼 pandas.RangeIndex()를 활용하면 start, stop, step 값만으로 효율적인 범위 인덱스를 만들 수 있습니다. 규칙적인 숫자 시퀀스를 인덱스로 사용해야 하는 경우, 일반적인 Int64Index 대신 RangeIndex를 사용하면 메모리를 절약하고 성능까지 개선할 수 있으므로 적극적으로 활용해 보시기 바랍니다.