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

Python Pandas – DataFrame의 열 이름과 행 인덱스를 변경하는 방법

Pandas는 파이썬 표준 라이브러리에서 제공하지 않는 다양한 데이터 분석 기능을 갖춘 파이썬 라이브러리입니다. 그중 대표적인 기능이 바로 데이터프레임(DataFrame)입니다. 데이터프레임은 행과 열로 구성된 사각형 격자 형태의 자료구조로, 데이터 생성 시 열 이름을 정하고 이후 데이터 조작 과정에서 해당 이름을 참조하게 됩니다.

그런데 실무에서는 데이터프레임을 이미 만든 후에 열 이름을 변경해야 하는 상황이 종종 발생합니다. 이 글에서는 Pandas DataFrame의 열 이름과 행 인덱스를 변경하는 여러 가지 방법을 예제와 함께 살펴보겠습니다.

1. rename() 메서드 사용하기

가장 널리 권장되는 방법은 rename() 메서드입니다. 이 메서드를 사용하면 열 이름과 행 인덱스를 모두 변경할 수 있습니다. 기존 값과 새 값을 키-값 쌍으로 이루어진 딕셔너리 형태로 전달하며, 결과를 새 변수에 저장하여 사용합니다.

예제

import pandas as pd

df = pd.DataFrame({
    'ColumnA': [23, 92, 32],
    'ColumnB': [54, 76, 43],
    'ColumnC': [16, 45, 10]
},
index=['10-20', '20-30', '30-40'])

df_renamed = df.rename(columns={'ColumnA': 'Col1', 'ColumnB': 'Col2', 'ColumnC': 'Col3'},
index={'10-20': '1', '20-30': '2', '30-40': '3'})
print(df)
print("\n",df_renamed)

실행 결과

           ColumnA    ColumnB    ColumnC
10-20            23         54         16
20-30            92         76         45
30-40            32         43         10

          Col1      Col2        Col3
1             23         54         16
2             92         76         45
3             32         43         10

위 코드에서는 columns 매개변수로 세 개의 열 이름을, index 매개변수로 세 개의 행 인덱스를 동시에 변경했습니다. 원본 데이터프레임은 그대로 유지되고 변경된 결과만 새 객체에 담기므로 안전하게 사용할 수 있습니다.

2. df.columns에 직접 할당하기

df.columns 속성에 새로운 열 이름 목록을 직접 할당하는 방법도 있습니다. 열 전체를 한 번에 교체할 때 유용하며, 이후 데이터프레임을 사용할 때부터는 새로운 열 이름이 적용됩니다.

예제

import pandas as pd

df = pd.DataFrame({
    'ColumnA': [23, 92, 32],
    'ColumnB': [54, 76, 43],
    'ColumnC': [16, 45, 10]
},
index=['10-20', '20-30', '30-40'])

df.columns=["Length","Breadth","Depth"]
print(df)

실행 결과

        Length   Breadth Depth
10-20       23       54    16
20-30       92       76    45
30-40       32       43    10

주의할 점은 할당하는 리스트의 요소 개수가 기존 열의 개수와 반드시 일치해야 한다는 것입니다. 개수가 맞지 않으면 오류가 발생합니다.

3. 접두사(Prefix) 추가하기

Pandas 데이터프레임은 열 이름에 접두사(prefix)나 접미사(suffix)를 붙일 수 있는 메서드를 제공합니다. add_prefix() 메서드를 사용하면 지정한 문자열이 모든 열 이름 앞에 자동으로 추가됩니다.

예제

import pandas as pd

df = pd.DataFrame({
    'ColA': [23, 92, 32],
    'ColB': [54, 76, 43],
    'ColC': [16, 45, 10]
},
index=['10-20', '20-30', '30-40'])

print(df.add_prefix('Jan-'))

실행 결과

        Jan-ColA   Jan-ColB   Jan-ColC
10-20         23         54         16
20-30         92         76         45
30-40         32         43         10

반대로 열 이름 뒤에 문자열을 붙이고 싶다면 add_suffix() 메서드를 사용하면 됩니다. 월별 데이터 구분이나 컬럼 출처를 표시할 때 특히 유용합니다.

마무리

지금까지 Pandas DataFrame에서 열 이름과 행 인덱스를 변경하는 세 가지 방법을 살펴보았습니다. 일부 이름만 선택적으로 바꿀 때는 rename(), 전체 열 이름을 한 번에 교체할 때는 df.columns 할당, 규칙적으로 접두사·접미사를 붙일 때는 add_prefix()/add_suffix()를 활용하면 됩니다. 상황에 맞는 방법을 선택하면 데이터 전처리 작업을 더욱 효율적으로 수행할 수 있습니다.