Skip to content

pandas DataFrame 칼럼명 바꾸기

DataFrame의 칼럼명을 수정하는 방법들


데이터를 다루다보면 아래 예시 데이터프레임과 같이 칼럼명이 대문자로 되어 있는 경우들이 있다. 대소문자를 바꿔가면서 코딩하려면 매우 귀찮은데, 이럴 때 column 이름을 한번에 수정할 수 있는 방법이 있다.

0. 예시 데이터 생성

import pandas as pd

data = {'A':[1, 2, 3], 'B':[2, 4, 6]}
df = pd.DataFrame.from_dict(data)

print(df)
   A  B
0  1  2
1  2  4
2  3  6

1. map, lambda 사용

아래와 같이 lambda 함수를 이용해서 한번에 모두 소문자로 바꿔줄 수 있다.

df.columns = map(lambda x: x.lower(), df.columns)

print(df)
   a  b
0  1  2
1  2  4
2  3  6

2. rename 메서드 사용

DataFrame 자체에서 제공하는 rename메서드를 사용하는 방법도 있다.

df.rename(mapper=str.lower, axis='columns', inplace=True)

print(df)
   a  b
0  1  2
1  2  4
2  3  6

rename메서드를 사용하면 다음과 같이 특정 칼럼의 이름만 변경하는 것도 가능하다.

df.rename(columns={"A": "a"}, inplace=True)

print(df)
   a  B
0  1  2
1  2  4
2  3  6

3. 💡list comprehension 사용

list comprehension을 사용하면 Pythonic한 간결한 코드로 처리할 수 있다.

df.columns = [i.lower() for i in df.columns]

print(df)
   a  b
0  1  2
1  2  4
2  3  6


Reference