Pandas에서는 rename() 메서드를 사용하면 DataFrame의 열(컬럼) 이름을 간단하게 변경할 수 있습니다. 이 글에서는 실제 예제를 통해 열 이름을 바꾸는 방법을 단계별로 살펴보겠습니다.
1. 샘플 DataFrame 만들기
먼저 3개의 열('Car', 'Reg_Price', 'Units')을 가진 DataFrame을 생성합니다.
import pandas as pd
# DataFrame 생성
dataFrame = pd.DataFrame(
{
"Car": ['BMW', 'Lexus', 'Tesla', 'Mustang', 'Mercedes', 'Jaguar'],
"Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000],
"Units": [90, 120, 100, 150, 200, 130]
}
)
print("DataFrame ...\n", dataFrame)
2. rename() 메서드로 열 이름 변경하기
이번 예제에서는 두 개의 열 이름을 변경합니다. 첫 번째 열인 'Car'는 'Car Names'로, 두 번째 열인 'Reg_Price'는 'Registration Cost'로 바꿔 보겠습니다. 아래처럼 열 인덱스(columns[0], columns[1])를 활용하면 열 이름을 일일이 입력하지 않고도 순서대로 변경할 수 있습니다.
# 열 이름 변경
res = dataFrame.rename(
columns={
dataFrame.columns[0]: 'Car Names',
dataFrame.columns[1]: 'Registration Cost'
}
)
print("\nUpdated DataFrame with renamed column names...\n", res)
전체 예제 코드
import pandas as pd
# DataFrame 생성
dataFrame = pd.DataFrame(
{
"Car": ['BMW', 'Lexus', 'Tesla', 'Mustang', 'Mercedes', 'Jaguar'],
"Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000],
"Units": [90, 120, 100, 150, 200, 130]
}
)
print("DataFrame ...\n", dataFrame)
# 열 이름 변경
res = dataFrame.rename(
columns={
dataFrame.columns[0]: 'Car Names',
dataFrame.columns[1]: 'Registration Cost'
}
)
print("\nUpdated DataFrame with renamed column names...\n", res)
실행 결과
위 코드를 실행하면 다음과 같이 열 이름이 성공적으로 변경된 것을 확인할 수 있습니다.
DataFrame ...
Car Reg_Price Units
0 BMW 7000 90
1 Lexus 1500 120
2 Tesla 5000 100
3 Mustang 8000 150
4 Mercedes 9000 200
5 Jaguar 6000 130
Updated DataFrame with renamed column names...
Car Names Registration Cost Units
0 BMW 7000 90
1 Lexus 1500 120
2 Tesla 5000 100
3 Mustang 8000 150
4 Mercedes 9000 200
5 Jaguar 6000 130
추가 팁: inplace 옵션과 딕셔너리 매핑
rename() 메서드는 기본적으로 원본 DataFrame을 수정하지 않고 새로운 객체를 반환합니다. 원본 데이터를 직접 변경하고 싶다면 inplace=True 옵션을 사용하세요.
# 원본 DataFrame을 직접 수정
dataFrame.rename(
columns={'Car': 'Car Names', 'Reg_Price': 'Registration Cost'},
inplace=True
)
또한 열 인덱스 대신 기존 열 이름을 키로 하는 딕셔너리를 직접 전달하는 방법도 있습니다. 어떤 열이 어떤 이름으로 바뀌는지 한눈에 파악할 수 있어 실무에서 더욱 널리 사용되는 방식입니다.