Skip to content
튜토리얼
Pandas
Pandas set_index 함수 사용 방법

Pandas set_index 함수 사용 방법

DataFrame이 Pandas 라이브러리에서 핵심 데이터 구조라는 점은 데이터 분석에서 Pandas가 혁신적인 역할을 해왔다는 것을 의미합니다. DataFrame의 중요한 기능 중 하나는 인덱스 구조를 조작할 수 있는 능력입니다. 이 글은 Pandas set_index() 함수의 사용 방법에 대한 포괄적인 가이드를 제공합니다.

Python에서 빠르게 데이터 시각화를 생성하고 싶으신가요?

PyGWalker는 Jupyter Notebook 기반 환경에서 데이터 분석 및 시각화 워크플로우를 빠르게 할 수 있도록 도와주는 오픈 소스 Python 프로젝트입니다.

PyGWalker (opens in a new tab)는 Pandas Dataframe(또는 Polars Dataframe)을 시각적인 UI로 변환하여 변수를 드래그 앤 드롭하여 쉽게 그래프를 만들 수 있도록 합니다. 다음 코드를 사용해보세요.

pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)

이제 온라인 Notebook으로 PyGWalker를 실행할 수 있습니다.

그리고 Github에서 ⭐️눌러주세요!

Kaggle Notebook에서 PyGWalker 실행 (opens in a new tab)Google Colab에서 PyGWalker 실행 (opens in a new tab)PyGWalker에 ⭐️를 달아주세요 (opens in a new tab)
Kaggle Notebook에서 PyGWalker 실행 (opens in a new tab)Google Colab에서 PyGWalker 실행 (opens in a new tab)Github에 PyGWalker ⭐️를 달아주세요 (opens in a new tab)

Pandas DataFrame에서 인덱스 이해하기

DataFrame의 인덱스는 행의 라벨 역할을 합니다. 기본적으로 Pandas는 행 라벨로 0부터 시작하는 정수 값을 할당합니다. 그러나 이러한 기본 인덱스가 충분하지 않은 경우에는 특정 열 또는 조합된 열을 DataFrame 인덱스로 설정해야 할 수 있습니다.

set_index() 함수를 사용하여 인덱스 설정하기

set_index() 함수를 사용하면 DataFrame의 열을 인덱스로 설정할 수 있습니다. 기본 구문은 다음과 같습니다.

DataFrame.set_index('Column_Name')

여기서 'Column_Name'은 인덱스로 설정하려는 열입니다.

set_index() 함수의 주요 매개변수

set_index() 함수에는 사용자들에게 유연성을 제공하기 위해 여러 매개변수가 있습니다. 각 매개변수에 대해 자세히 알아보겠습니다.

  • keys: 이는 열 이름 또는 Pandas Series, Index 또는 NumPy 배열일 수 있습니다. 이것이 DataFrame의 새로운 인덱스가 됩니다.
  • drop (기본값: True): 새 인덱스로 설정하려는 열을 DataFrame에서 삭제하려면 True로 설정합니다.
  • append (기본값: False): True로 설정하면 인덱스로 설정하려는 열이 기존 인덱스에 추가되어 멀티인덱스가 생성됩니다.
  • inplace (기본값: False): True로 설정하면 함수는 DataFrame에서 직접 변경되며 반환값이 없습니다. False로 설정하면 변경사항이 있는 새로운 DataFrame이 반환됩니다.
  • verify_integrity (기본값: False): 중복 인덱스를 확인합니다. 새로운 인덱스 값이 유일한지 확인하려는 경우 유용합니다.

set_index()의 실제 예제

이제 몇 가지 실제 예제를 통해 이러한 매개변수를 이해해 봅시다. 다음과 같이 DataFrame df이 있다고 가정해 봅시다.

import pandas as pd
 
data = {
    'Name': ['John', 'Anna', 'Peter', 'Linda'],
    'Age': [28, 24, 32, 45],
    'City': ['New York', 'London', 'Berlin', 'Sydney']
}
 
df = pd.DataFrame(data)

'Name'을 인덱스로 설정해 봅시다.

df.set_index('Name', inplace=True)

이렇게 하면 'Name' 열이 DataFrame의 인덱스로 설정되고 drop 매개변수가 기본값 True로 설정되므로 DataFrame에서 제거됩니다.

'Name' 열을 인덱스로 설정하지만 DataFrame에도 유지하려면 다음과 같이 할 수 있습니다.

df.reset_index(inplace=True)
df.set_index('Name', drop=False, inplace=True)

기존 'Name' 인덱스에 'City'를 추가하여 멀티인덱스 DataFrame을 만들려면 다음과 같이 사용하면 됩니다.

df.set_index(['Name', 'City'], inplace=True)

참고: 새 인덱스를 설정하기 전에 이미 이전 인덱스를 설정한 경우 df.reset_index(inplace=True)를 사용하여 인덱스를 재설정해야 할 수 있습니다.

결론

이 문서에서는 Pandas의 set_index()를 사용하여 데이터프레임의 인덱스 구조를 우리가 필요에 따라 조작하는 방법을 배웠습니다. 주요 매개변수를 이해하여 인덱스 기반 작업을 효과적으로 수행하고 데이터 분석 능력을 개선할 수 있습니다. Pandas에서 초보자든 전문가든 set_index()를 올바르게 사용하는 것은 중요합니다. 이제 배운 내용을 프로젝트에 적용해 보세요!