Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Pandas Index.repeat() – 각 요소를 서로 다른 횟수만큼 반복하는 방법

개요

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() 메서드는 정수 하나를 전달하면 모든 요소를 동일한 횟수만큼 반복하고, 리스트를 전달하면 각 요소를 서로 다른 횟수만큼 반복합니다. 단, 리스트의 길이는 원본 인덱스의 요소 개수와 같아야 합니다. 이 기능은 데이터 증강이나 가중치 기반 샘플 확장 등 다양한 데이터 처리 작업에 유용하게 활용할 수 있습니다.