Python Pandas 데이터프레임에서 열 이름을 변경하고 싶으신가요? 물론 가능합니다. rename() 메서드를 사용하면 개별 열의 이름을 바꿀 수 있고, "columns" 속성에 새로운 열 헤더 목록을 할당해 전체 열 이름을 한 번에 교체할 수도 있습니다.
이 가이드에서는 Pandas 데이터프레임에서 단일 열과 여러 열의 이름을 변경하는 방법을 다룹니다. 실제 예제를 통해 각 기술을 바로 적용하는 방법까지 함께 살펴보겠습니다.
Pandas에서 단일 열 이름 변경하기
Pandas 데이터프레임은 데이터를 저장하는 격자(grid) 구조입니다. 데이터는 행과 열로 이루어진 테이블 형태로 저장되며, 데이터프레임의 각 축에는 고유한 레이블이 붙습니다.
단일 열의 이름은 rename() 함수를 사용해 변경합니다. 이 메서드는 새로운 열을 생성할 필요 없이 기존 열 제목만 수정할 수 있어 매우 유용합니다.
먼저 간단한 Pandas 데이터프레임 객체를 만들어 보겠습니다:
import pandas as pd
books = {
"name": ["The Great Gatsby", "To Kill a Mockingbird", "The Count of Monte Cristo"],
"author": ["F. Scott Fitzgerald", "Harper Lee", "Alexandre Dumas"],
"sold": [42, 53, 39]
}
books_frame = pd.DataFrame(books)
"name", "author", "sold"가 열 제목입니다. 이 데이터프레임은 세 개의 열과 세 개의 행으로 구성되어 있습니다. 콘솔에 출력해 내용을 확인해 보겠습니다:
print(books_frame)
데이터프레임이 의도한 대로 출력됩니다:
| name | author | sold | |
| 0 | The Great Gatsby | F. Scott Fitzgerald | 42 |
| 1 | To Kill a Mockingbird | Harper Lee | 53 |
| 2 | The Count of Monte Cristo | Alexandre Dumas | 39 |
이제 "sold" 열의 이름을 "copies sold"로 변경해 보겠습니다. rename() 메서드를 사용하면 됩니다:
books_frame.rename(columns = {"sold": "copies sold"}, inplace=True)
rename() 메서드에는 하나의 매개변수인 columns를 지정했습니다. 이 매개변수는 이름을 변경할 열 목록을 받습니다.
columns 매개변수의 값으로는 딕셔너리(dictionary)를 전달합니다. 키인 "sold"는 이름을 변경하려는 기존 열의 이름이며, 값인 "copies sold"는 새롭게 교체될 이름입니다.
코드를 실행하고 열 목록을 출력해 결과를 확인해 보겠습니다:
books_frame.rename(columns = {"sold": "copies sold"}, inplace=True)
print(books_frame.columns)
실행 결과는 다음과 같습니다:
Index(['name', 'author', 'copies sold'], dtype='object')
"sold" 열이 성공적으로 "copies sold"로 변경되었습니다.
Pandas에서 여러 열 이름 변경하기
여러 열의 이름을 변경할 때 역시 rename() 메서드를 사용합니다. "columns" 매개변수에 할당하는 딕셔너리에 여러 개의 열 정보를 지정하면 됩니다.
이번에는 "name" 열을 "Book Name"으로, "sold" 열을 "Copies Sold"로 변경해 보겠습니다:
books_frame.rename(columns={
"name": "Book Name",
"sold": "Copies Sold"
}, inplace=True)
print(books_frame.columns)
rename() 메서드가 열 이름을 변경하며, 코드 실행 결과는 다음과 같습니다:
Index(['Book Name', 'author', 'Copies Sold'], dtype='object')
"name"과 "sold" 열의 이름이 변경되었고, "author" 열은 그대로 유지된 것을 확인할 수 있습니다.
Pandas에서 모든 열 이름 변경하기
데이터프레임의 모든 열 이름을 변경하려면 "columns" 속성에 새로운 열 제목 목록을 직접 할당하면 됩니다. 단, 이 방식은 테이블의 모든 열 이름을 교체할 때만 사용할 수 있으며, 이름을 유지할 특정 열만 골라 제외하는 것은 불가능합니다.
앞선 예제의 열 제목을 다음과 같이 전면 수정해 보겠습니다:
- "Book Name" → "Book Title"
- "author" → "Author Name"
- "Copies Sold" → "Number of Copies Sold"
새로운 열 이름으로 리스트를 만들고 "columns" 속성 변수에 할당합니다:
books_frame.columns = ["Book Title", "Author Name", "Number of Copies Sold"] print(books_frame.columns)
실행 결과는 다음과 같습니다:
Index(['Book Title', 'Author Name', 'Number of Copies Sold'], dtype='object')
모든 열의 이름이 성공적으로 변경되었습니다.
마무리
rename() 메서드를 사용하면 Pandas에서 하나 이상의 열 이름을 자유롭게 변경할 수 있으며, "columns" 속성 값을 재할당하는 방식으로 데이터프레임의 전체 열 이름을 한 번에 교체할 수도 있습니다.
이제 여러분도 전문가처럼 Pandas의 열 이름을 변경할 준비가 되었습니다!