import pandas as pd
# 샘플 DataFrame 생성
= {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
data = pd.DataFrame(data)
df df
Name | Age | |
---|---|---|
0 | Alice | 25 |
1 | Bob | 30 |
2 | Charlie | 35 |
Pandas DataFrame의 컬럼 이름 변경하기
gabriel yang
August 19, 2024
Pandas에서 DataFrame
을 다루다 보면 컬럼 이름을 변경해야 하는 경우가 자주 발생합니다. 예를 들어, 데이터의 가독성을 높이거나 특정한 요구 사항에 맞추기 위해 컬럼 이름을 수정할 필요가 있습니다. 이번 포스팅에서는 Pandas에서 DataFrame
의 컬럼 이름을 변경하는 다양한 방법을 정리합니다.
rename()
메서드 사용하기Pandas에서 컬럼 이름을 변경할 때 가장 많이 사용되는 방법은 rename()
메서드를 활용하는 것입니다. 이 메서드는 특정 컬럼 이름만 선택적으로 변경할 수 있는 유연성을 제공합니다.
import pandas as pd
# 샘플 DataFrame 생성
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
df
Name | Age | |
---|---|---|
0 | Alice | 25 |
1 | Bob | 30 |
2 | Charlie | 35 |
rename
함수를 이용해서 Name
과 Age
컬럼의 이름을 변경합니다.
Full Name | Years | |
---|---|---|
0 | Alice | 25 |
1 | Bob | 30 |
2 | Charlie | 35 |
columns
파라미터에 딕셔너리 형식으로 변경할 컬럼 이름을 지정합니다. 딕셔너리의 키는 기존 컬럼 이름이고, 값은 변경할 새로운 이름입니다.inplace=True
로 설정하면 원본 DataFrame이 직접 수정됩니다. 만약 inplace=False
(기본값)로 설정하면, 수정된 DataFrame이 반환되며 원본은 그대로 유지됩니다.컬럼 이름을 하나씩 변경하는 것이 아니라, DataFrame의 모든 컬럼 이름을 한꺼번에 변경하고 싶을 때도 있습니다. 이 경우 컬럼 이름의 리스트를 직접 할당할 수 있습니다.
import pandas as pd
# 샘플 DataFrame 생성
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
df
Name | Age | |
---|---|---|
0 | Alice | 25 |
1 | Bob | 30 |
2 | Charlie | 35 |
컬럼의 순서에 맞게 변경할 컬럼이름을 리스트로 전달합니다.
Full Name | Years | |
---|---|---|
0 | Alice | 25 |
1 | Bob | 30 |
2 | Charlie | 35 |
df.columns
에 새로운 컬럼 이름의 리스트를 할당하면, 기존의 모든 컬럼 이름이 순서대로 대체됩니다.str
메서드를 활용한 컬럼 이름 변경Pandas의 str
접근자를 사용하면 문자열 메서드를 활용해 컬럼 이름을 일괄적으로 변경할 수 있습니다. 예를 들어, 모든 컬럼 이름을 소문자로 바꾸거나, 특정 문자열을 추가하는 작업을 쉽게 수행할 수 있습니다.
import pandas as pd
# 샘플 DataFrame 생성
data = {'FirstName': ['Alice', 'Bob', 'Charlie'], 'LastName': ['Smith', 'Brown', 'Johnson']}
df = pd.DataFrame(data)
df
FirstName | LastName | |
---|---|---|
0 | Alice | Smith |
1 | Bob | Brown |
2 | Charlie | Johnson |
모든 컬럼을 소문자로 변경하기 위해서 str
메서드를 사용합니다.
# 컬럼 이름을 소문자로 변환
df.columns = df.columns.str.lower()
# 특정 문자열 추가 (예: 'col_' 추가)
df.columns = 'col_' + df.columns
df
col_firstname | col_lastname | |
---|---|---|
0 | Alice | Smith |
1 | Bob | Brown |
2 | Charlie | Johnson |
df.columns.str.lower()
는 모든 컬럼 이름을 소문자로 변환합니다.'col_' + df.columns
는 모든 컬럼 이름 앞에 'col_'
문자열을 추가합니다.add_prefix()
및 add_suffix()
메서드 사용하기컬럼 이름에 일괄적으로 접두사(prefix)나 접미사(suffix)를 추가하고 싶을 때는 add_prefix()
또는 add_suffix()
메서드를 사용할 수 있습니다.
import pandas as pd
# 샘플 DataFrame 생성
data = {'FirstName': ['Alice', 'Bob', 'Charlie'], 'LastName': ['Smith', 'Brown', 'Johnson']}
df = pd.DataFrame(data)
df
FirstName | LastName | |
---|---|---|
0 | Alice | Smith |
1 | Bob | Brown |
2 | Charlie | Johnson |
add_prefix
와 add_surfix
를 사용하여 접두사와 접미사를 붙이는 예시를 작성합니다.
# 접두사 추가
df_with_prefix = df.add_prefix('col_')
# 접미사 추가
df_with_suffix = df.add_suffix('_data')
display(df_with_prefix)
display(df_with_suffix)
col_FirstName | col_LastName | |
---|---|---|
0 | Alice | Smith |
1 | Bob | Brown |
2 | Charlie | Johnson |
FirstName_data | LastName_data | |
---|---|---|
0 | Alice | Smith |
1 | Bob | Brown |
2 | Charlie | Johnson |
add_prefix('col_')
는 모든 컬럼 이름 앞에 'col_'
을 추가합니다.add_suffix('_data')
는 모든 컬럼 이름 뒤에 '_data'
를 추가합니다.컬럼 이름을 변경할 때 몇 가지 주의할 점이 있습니다
Pandas에서 DataFrame의 컬럼 이름을 변경하는 방법은 여러 가지가 있으며, 상황에 따라 적합한 방법을 선택할 수 있습니다. rename()
메서드는 선택적인 변경에 유용하며, columns
속성을 직접 수정하면 전체 컬럼 이름을 한 번에 변경할 수 있습니다.
또한, 문자열 메서드와 add_prefix()
, add_suffix()
메서드를 활용하면 보다 쉽게 일괄적인 변경 작업을 할 수 있습니다.