본문 바로가기
데이터분석/Pandas

[Python] Pandas : Dataframe 함수 - reset_index()

by 코듀킹 2024. 6. 9.

reset_index() 함수는 Pandas 라이브러리에서 사용되는 함수로, 데이터프레임의 인덱스를 초기화하거나 재설정하는 데 사용됩니다. 이 함수는 인덱스를 리셋하고, 기존 인덱스를 데이터프레임의 열로 변환할 수 있는 다양한 옵션을 제공합니다. reset_index() 함수의 주요 기능과 사용법을 설명하겠습니다.

 

기본 사용법

기본적으로 reset_index() 함수는 데이터프레임의 인덱스를 기본 숫자 인덱스로 재설정합니다.

import pandas as pd

# 예제 데이터프레임 생성
data = {
    'A': [1, 2, 3],
    'B': [4, 5, 6]
}
df = pd.DataFrame(data, index=['a', 'b', 'c'])

print("Original DataFrame:")
print(df)

# 인덱스 리셋
df_reset = df.reset_index()

print("\nDataFrame after reset_index:")
df_reset

 

주요 파라미터

  • name: 새로운 인덱스 열의 이름을 지정할 때 사용됩니다.
  • inplace: True로 설정하면 원본 데이터프레임을 변경합니다.
  • drop: True로 설정하면 기존 인덱스를 버리고, 새 인덱스를 기본 숫자 인덱스로 설정합니다.
  • level: 다중 인덱스(MultiIndex)에서 특정 레벨만 리셋할 때 사용합니다.
  • col_level: 다중 인덱스 열에서 어느 레벨에 인덱스 값을 넣을지 지정합니다.
  • col_fill: 다중 인덱스 열에서 비어 있는 값을 채울 값입니다.

 

예제 코드

1. 기본 사용법

df_reset = df.reset_index()

 

일반적으로는 인덱스를 리셋한 데이터 프레임을 새로운 변수에 저장하여 사용한다. 이 경우 원본의 데이터는 바뀌지 않는다.



2. 원본 데이프레임을 변경

df.reset_index(inplace=True)

 

새로운 변수에 저장할 필요가 없는 경우, inplace=True로 원본의 인덱스를 바로 변경 할 수 있다.

 

 

3. 인덱스에서 열이 된 새로운 열 이름 변경

df.reset_index(names='NewIndexName')

 

 

4. 기존 인덱스를 버리고 기본 숫자 인덱스로 설정

df.reset_index(drop=True)

 

 

5. 다중 인덱스의 특정 레벨만 리셋

# 다중 인덱스 데이터프레임 생성
arrays = [['bar', 'bar', 'baz', 'baz'], ['one', 'two', 'one', 'two']]
index = pd.MultiIndex.from_arrays(arrays, names=['first', 'second'])
df_multi = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8]}, index=index)

# 특정 레벨만 리셋
df_multi_reset = df_multi.reset_index(level='first')

 

 

reset_index() 함수는 데이터 전처리 단계에서 매우 유용하게 사용되며, 데이터프레임의 구조를 유연하게 조작할 수 있도록 도와줍니다. 다양한 파라미터를 활용하여 필요에 맞게 인덱스를 리셋해보세요.

 

 

참고

 

댓글