Python DataFrame 컬럼, 인덱스 이름 변경 rename

파이썬 판다스 DataFrame의 컬럼(열), 인덱스(행) 이름을 변경하는 방법을 알아보겠습니다.

처음에 설정한 컬럼 이름이나 인덱스 이름을 변경하기 위해서는 rename() 메서드를 사용합니다.

샘플 데이터를 작성해 rename() 사용 방법을 확인해보겠습니다.

import pandas as pd

df = pd.DataFrame({'A': [11, 21, 31],
                   'B': [12, 22, 32],
                   'C': [13, 23, 33]},
                  index=['ONE', 'TWO', 'THREE'])

print(df)
#         A   B   C
# ONE    11  12  13
# TWO    21  22  23
# THREE  31  32  33

rename() 메서드

rename() 메서드에는 변경하고 싶은 컬럼 이름 또는 인덱스를 딕셔너리 형태로 지정합니다.

import pandas as pd

df = pd.DataFrame({'A': [11, 21, 31],
                   'B': [12, 22, 32],
                   'C': [13, 23, 33]},
                  index=['ONE', 'TWO', 'THREE'])

# 컬럼 이름, 인덱스 이름 변경
df_new = df.rename(columns={'A': 'a'}, index={'ONE': 'one'})
print(df_new)
#         a   B   C
# one    11  12  13
# TWO    21  22  23
# THREE  31  32  33

# 변경전 원본 값
print(df)
#         A   B   C
# ONE    11  12  13
# TWO    21  22  23
# THREE  31  32  33

인덱스 이름을 변경하고 싶은 경우에는 index를 설정합니다.

컬럼 이름을 변경하고 싶은 경우에는 colunms를 설정합니다.

원본 데이터는 변경되지 않습니다.

컬럼 이름과 인덱스 이름이 변경된 DataFrame을 반환합니다.

원본 DataFrame을 변경하고 싶은 경우에는 inplace를 True로 설정합니다.

import pandas as pd

df = pd.DataFrame({'A': [11, 21, 31],
                   'B': [12, 22, 32],
                   'C': [13, 23, 33]},
                  index=['ONE', 'TWO', 'THREE'])

df.rename(columns={'A': 'a'}, index={'ONE': 'one'}, inplace=True)
print(df)
#         a   B   C
# one    11  12  13
# TWO    21  22  23
# THREE  31  32  33
#         A   B   C
# ONE    11  12  13
# TWO    21  22  23
# THREE  31  32  33

여러개 변경

동시에 복수의 인덱스 또는 컬럼 이름을 변경할 수 있습니다.

import pandas as pd

df = pd.DataFrame({'A': [11, 21, 31],
                   'B': [12, 22, 32],
                   'C': [13, 23, 33]},
                  index=['ONE', 'TWO', 'THREE'])

print(df.rename(columns={'A': 'a', 'C': 'c'}))
#         a   B   c
# ONE    11  12  13
# TWO    21  22  23
# THREE  31  32  33

딕셔너리 형태로 변경하고 싶은 대상과 변경 문자열을 지정하기 때문에 원하는 만큼 추가할 수 있습니다.

댓글