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

Pandas 열 이름 변경 완벽 가이드: rename() 메서드부터 columns 속성까지

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)

데이터프레임이 의도한 대로 출력됩니다:

nameauthorsold
0The Great GatsbyF. Scott Fitzgerald42
1To Kill a MockingbirdHarper Lee53
2The Count of Monte CristoAlexandre Dumas39

이제 "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의 열 이름을 변경할 준비가 되었습니다!