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

판다스(Pandas) 데이터프레임 인덱스 재설정 방법 총정리

이 글에서는 판다스(Pandas) 데이터프레임의 기본 인덱스를 교체하거나 재설정하는 방법을 알아봅니다. 먼저 데이터프레임을 생성해 기본 인덱스가 어떻게 부여되는지 확인한 후, 이를 사용자 지정 인덱스로 바꾸고 다시 reset_index() 함수로 초기화하는 전체 과정을 단계별로 살펴보겠습니다.

구현 알고리즘

  1. 1단계: 데이터프레임을 정의합니다.
  2. 2단계: 직접 만든 사용자 지정 인덱스를 정의합니다.
  3. 3단계: 판다스 라이브러리의 reset_index() 함수를 사용해 기본 인덱스를 새로운 인덱스로 교체합니다.

예제 코드

import pandas as pd

dataframe = {'Name':["Allen", "Jack", "Mark", "Vishal"], 'Marks':[85,92,99,87]}

df = pd.DataFrame(dataframe)
print("Before using reset_index:\n", df)

own_index = ['a', 'j', 'm', 'v']

df = pd.DataFrame(dataframe, own_index)
df.reset_index(inplace = True)

print("After using reset_index:\n", df)

코드 설명

  • pd.DataFrame(dataframe): 딕셔너리 데이터로 데이터프레임을 생성합니다. 이때 별도의 인덱스를 지정하지 않으면 0부터 시작하는 정수형 기본 인덱스가 자동으로 부여됩니다.
  • pd.DataFrame(dataframe, own_index): 두 번째 인자로 리스트 ['a', 'j', 'm', 'v']를 전달하면 기본 인덱스 대신 문자열 사용자 지정 인덱스가 적용됩니다.
  • df.reset_index(inplace=True): 기존에 설정했던 인덱스를 index라는 이름의 일반 열로 변환하고, 다시 0부터 시작하는 기본 정수 인덱스를 새로 부여합니다. inplace=True 옵션은 원본 데이터프레임을 직접 수정한다는 의미입니다.

실행 결과

Before using reset_index():
    Name  Marks
0  Allen     85
1   Jack     92
2   Mark     99
3 Vishal     87

After using reset_index():
   index   Name  Marks
0      0  Allen     85
1      1   Jack     92
2      2   Mark     99
3      3 Vishal     87

실행 결과를 보면, 처음에는 0~3의 정수 인덱스가 붙어 있던 데이터프레임에 사용자 지정 인덱스가 적용된 후, reset_index() 호출 시점에 기존 인덱스 값들이 index 열로 이동하고 새로운 기본 인덱스가 다시 생성된 것을 확인할 수 있습니다.

추가 팁: drop 매개변수 활용하기

기존 인덱스를 열로 남기고 싶지 않다면 drop=True 옵션을 사용하세요. 이 경우 기존 인덱스는 완전히 삭제되고 새 기본 인덱스만 부여되어, 불필요한 열이 추가되는 것을 방지할 수 있습니다.

df.reset_index(drop=True, inplace=True)