[28일차]DataFrame활용 - 행렬 인덱스 네이밍 변경(rename)

김준석·2024년 1월 4일

**DataFrame활용 - 행렬 인덱스 네이밍 변경(rename)**

인덱스 열 이름, 컬럼 이름을 변경해보자

실습 환경 구축

# 참조
import pandas as pd

# 데이터프레임 생성
cols = ['name', 'survived', 'pclass', 'fare', 'sex', 'age']
titanic = pd.read_excel('titanic3.xls', usecols=cols, index_col='name')
titanic

**열(column) 이름 변경**

titanic 컬럼을 조회해 보자

# 열 목록(columns index) 조회
titanic.columns

속성을 보면 컬럼명들도 index 로 되어있는 것을 볼 수 있다.

그렇기 때문에 컬럼명을 변경할 때

titanic.columns[0] = 'class'

이런식으로 변경을 하려고 한다면 에러가 발생한다.

인덱스는 지원하지 않는다는 에러가 뜸.

1. .rename()을 이용하기

.rename() 메소드는 이름을 변경하고자 할 때 사용한다.

  • 인자값.
    • index = 인덱스명을 변경할 때
    • columns= 컬럼명을 변경할 때
    • 딕셔너리의 형태로 작성해주어야 된다.{’A’:’a’}

처음과 같이 pclass 컬럼명을 class 로 변경해 보자

# 방법 1 : rename을 이용하기
titanic.rename(columns={'pclass':'class'}, inplace=True)
titanic

2. 컬럼의 길이와 동일한 리스트를 이용한 변경방법

같은 길이의 리스트를 이용하면 오류 없이 변경할 수 있다.

기존 컬럼 : 'class', 'survived', 'sex', 'age', 'fare'

총 5개의 컬럼이다.

5개의 값을 가진 리스트를 아래와 같이 사용하면 변경이 된다.

# 방법 2 : 같은 길이의 리스트를 준비해서 교체하기
titanic.columns = ['class', ' survived', 'sex', 'age', 'cost']

‘fare’ 에서 ‘cost’ 로 변경이 됨.


1-2. .rename()심화 - **행과 열의 인덱스 이름 변경**

  1. 2개의 열을 변경하려면?
titanic.rename(columns = {'class':'Pclass','cost':'Fare'})

딕셔너리 형태이기 때문에 추가적으로 넣어주면 됨

2.인덱스에서 'Allen, Miss. Elisabeth Walton' 이름 변경

titanic.rename(index = {'Allen, Miss. Elisabeth Walton':'Allen'})

3..name 을 이용한 행렬 인덱스를 설정

.name 을 이용해서 인덱스 명칭을 변경할 수 있다.

3-1. 인덱스 이름 변경

titanic.index.name

현재 인덱스 이름은 ‘name’ 이다.

이를 .name 을 이용해 아래와 같이 변경할 수 있다.

titanic.index.name = 'VV'

3-2. 컬럼명 변경

마찬가지로 .name 으로 컬럼명도 지정 가능하다.

현재는 컬럼에 대한 이름이 없지만

titanic.columns.name = '컬럼'

위와 같은 코드로 컬럼 이름을 생성해 줄 수 있다.

0개의 댓글