개요
Pandas에서 인덱스(Index)나 시리즈(Series)의 각 요소를 서로 다른 횟수만큼 반복해야 하는 경우가 있습니다. 이럴 때는 index.repeat() 메서드를 사용하면 됩니다. 반복 횟수를 리스트 형태로 전달하면, 각 요소가 해당 위치의 값만큼 순서대로 반복된 새로운 인덱스가 생성됩니다.
먼저 필요한 라이브러리를 임포트합니다.
import pandas as pd
인덱스 생성 및 확인
이름이 지정된 Pandas 인덱스를 생성합니다.
index = pd.Index(['Car', 'Bike', 'Airplane', 'Ship'], name='Transport')
생성한 인덱스를 화면에 출력합니다.
print("Pandas Index...\n", index)repeat()로 요소 반복하기
index.repeat([2, 3, 5, 7])처럼 리스트를 인자로 전달하면, 첫 번째 요소 'Car'는 2번, 두 번째 요소 'Bike'는 3번, 세 번째 요소 'Airplane'은 5번, 네 번째 요소 'Ship'은 7번 반복됩니다.
print("\n각 요소를 다르게 반복한 결과...\n", index.repeat([2, 3, 5, 7]))전체 예제 코드
아래는 위 내용을 모두 포함한 완성된 코드입니다.
import pandas as pd
# Pandas 인덱스 생성
index = pd.Index(['Car', 'Bike', 'Airplane', 'Ship'], name='Transport')
# 인덱스 출력
print("Pandas Index...\n", index)
# 인덱스의 요소 개수 반환
print("\n인덱스의 요소 개수...\n", index.size)
# 데이터의 dtype 객체 반환
print("\ndtype 객체...\n", index.dtype)
# 각 요소를 서로 다른 횟수만큼 반복
print("\n각 요소를 다르게 반복한 결과...\n", index.repeat([2, 3, 5, 7]))실행 결과
위 코드를 실행하면 다음과 같은 출력이 나타납니다.
Pandas Index... Index(['Car', 'Bike', 'Airplane', 'Ship'], dtype='object', name='Transport') Number of elements in the index... 4 The dtype object... object Result after repeating each index element in a different way... Index(['Car', 'Car', 'Bike', 'Bike', 'Bike', 'Airplane', 'Airplane', 'Airplane', 'Airplane', 'Airplane', 'Ship', 'Ship', 'Ship', 'Ship', 'Ship', 'Ship', 'Ship'], dtype='object', name='Transport')
핵심 정리
index.repeat() 메서드는 정수 하나를 전달하면 모든 요소를 동일한 횟수만큼 반복하고, 리스트를 전달하면 각 요소를 서로 다른 횟수만큼 반복합니다. 단, 리스트의 길이는 원본 인덱스의 요소 개수와 같아야 합니다. 이 기능은 데이터 증강이나 가중치 기반 샘플 확장 등 다양한 데이터 처리 작업에 유용하게 활용할 수 있습니다.