파이썬/판다스

df.rename 데이터프레임 컬럼명 변경하기[python/pandas]

leon_choi 2022. 12. 11. 18:33
반응형

근래 여러 업무가 겹치면서 포스팅 하는 것도 많이 힘드네요. 업무가 겹치다 보니 포스팅 뿐만 아니라 컬럼명을 외우기도 벅차는데요. 주로 하는 일이 본격적으로 게임을 서비스 하기 위해 데이터 베이스를 구축하기 전 게임에 필요한 스탯의 성장과 인게임 결과에 따른 수치 변동 시뮬레이션을 하는 것이 업이다 보니 긴 컬럼명을 간단하게 변경해 외우기 쉽도록 작업을 하는 경우가 많습니다. 

 

뭐든지 방법에는 처음에 알기 쉽지만 손이 많이 가는 방법 1과 공부를 한다면 몹시도 간단한 방법 2가 존재하는데요. 컬럼명 변경도 마찬가지입니다. 일단 예제를 하나 만들어보겠습니다.  

import pandas as pd
             
dict_data = {'선수A':[18,3,21,8.13],
             '김덕배':[3,9,12,7.93],
             '필포든': [7,3,10,7.51],
             '로드리':[0,3,3,7.92]}           
             
df_mancity = pd.DataFrame(dict_data, index=['득점','도움','공포','평점'])

print(df_mancity)
      선수A  김덕배 필포든 로드리
득점  18.00   3.00   7.00  0.00
도움   3.00   9.00   3.00  3.00
공포  21.00  12.00  10.00  3.00
평점   8.13   7.93   7.51  7.92

맨체스터 시티에서 가장 좋아하는 선수 4명의 기본 스탯을 예제로 만들어 봤는데요. 딱 눈에 띄는 컬럼 하나가 보이죠. 맞습니다. 맨시티에는 선수A라는 이름의 선수는 없습니다. 선수A는 홀란드인데요. 선수A를 홀란드로 바꾸기 위한 첫번째 방법은 모든 컬럼을 재설정하는 방법입니다. 

import pandas as pd
             
dict_data = {'선수A':[18,3,21,8.13],
             '김덕배':[3,9,12,7.93],
             '필포든': [7,3,10,7.51],
             '로드리':[0,3,3,7.92]}           
             
df_mancity = pd.DataFrame(dict_data, index=['득점','도움','공포','평점'])

#전체 열 이름 변경
df_mancity.columns = ['홀란드','김덕배','필포든','로드리']

print(df_mancity)
      홀란드 김덕배 필포든 로드리
득점  18.00   3.00   7.00  0.00
도움   3.00   9.00   3.00  3.00
공포  21.00  12.00  10.00  3.00
평점   8.13   7.93   7.51  7.92

전체를 다 바꾸는 방법은 지금이야 단순할 수 있지만 만일 컬럼이 50개가 넘는 열의 하나를 바꾼다고 한다면 굉장히 비효율적입니다. 이때 특정 컬럼만 바꾸는 방법이 있는데 바로 df.rename 함수를 사용하면 됩니다. 

import pandas as pd
             
dict_data = {'선수A':[18,3,21,8.13],
             '김덕배':[3,9,12,7.93],
             '필포든': [7,3,10,7.51],
             '로드리':[0,3,3,7.92]}           
             
df_mancity = pd.DataFrame(dict_data, index=['득점','도움','공포','평점'])

#특정 컬럼명만 변경하기

**구조**
#df.rename(columns = {'전 컬럼명': '바꾼 컬럼명'}, inplace=True)#

df_mancity.rename(columns={'선수A':'홀란드'},inplace=True)

print(df_mancity)
      홀란드 김덕배 필포든 로드리
득점  18.00   3.00   7.00  0.00
도움   3.00   9.00   3.00  3.00
공포  21.00  12.00  10.00  3.00
평점   8.13   7.93   7.51  7.92

 

반응형