반응형
Pandas 컬럼 추가, 삭제 및 데이터 수정하기
Pandas는 데이터 분석을 위한 강력한 라이브러리로, 데이터 변환과 가공을 쉽게 수행할 수 있습니다. 이번 포스팅에서는 assign()
, drop()
, rename()
을 활용하여 컬럼을 추가하고 삭제하며 이름을 변경하는 방법을 살펴보겠습니다.
1. 컬럼 추가하기: assign()
Pandas의 assign()
메서드는 새로운 컬럼을 추가하거나 기존 컬럼을 수정하는 데 사용됩니다. 이 메서드는 원본 DataFrame을 변경하지 않고 새로운 DataFrame을 반환하는 방식으로 동작합니다.
예제: 새로운 컬럼 추가하기
import pandas as pd
# 샘플 데이터 생성
data = {
'이름': ['김철수', '이영희', '박민수'],
'국어': [90, 85, 88],
'수학': [80, 95, 85]
}
df = pd.DataFrame(data)
# 새로운 컬럼 추가 (영어 점수)
df = df.assign(영어=[85, 90, 82])
print(df)
실행 결과
이름 국어 수학 영어
0 김철수 90 80 85
1 이영희 85 95 90
2 박민수 88 85 82
assign()
을 사용하면 기존 컬럼을 업데이트할 수도 있습니다.
예제: 기존 컬럼 수정하기
df = df.assign(수학=df['수학'] + 5) # 수학 점수에 5점 추가
print(df)
실행 결과
이름 국어 수학 영어
0 김철수 90 85 85
1 이영희 85 100 90
2 박민수 88 90 82
2. 컬럼 삭제하기: drop()
컬럼을 삭제할 때는 drop()
메서드를 사용합니다. 이 메서드는 axis=1
을 지정하여 컬럼을 삭제할 수 있으며, inplace=True
를 설정하면 원본 DataFrame을 직접 변경합니다.
예제: 특정 컬럼 삭제하기
# 영어 컬럼 삭제
df = df.drop(columns=['영어'])
print(df)
실행 결과
이름 국어 수학
0 김철수 90 85
1 이영희 85 100
2 박민수 88 90
여러 개의 컬럼을 한 번에 삭제할 수도 있습니다.
예제: 여러 컬럼 삭제하기
df = df.drop(columns=['국어', '수학'])
print(df)
실행 결과
이름
0 김철수
1 이영희
2 박민수
3. 컬럼 이름 변경하기: rename()
컬럼명을 변경할 때는 rename()
메서드를 사용합니다. 딕셔너리 형태로 {기존 컬럼명: 새로운 컬럼명}
을 전달하면 됩니다.
예제: 컬럼명 변경하기
# 컬럼 이름 변경 (국어 → 국어 점수, 수학 → 수학 점수)
df = df.rename(columns={'국어': '국어 점수', '수학': '수학 점수'})
print(df)
실행 결과
이름 국어 점수 수학 점수
0 김철수 90 85
1 이영희 85 100
2 박민수 88 90
rename()
을 사용할 때 inplace=True
를 설정하면 원본 DataFrame이 변경됩니다.
df.rename(columns={'이름': '학생 이름'}, inplace=True)
print(df)
실행 결과
학생 이름 국어 점수 수학 점수
0 김철수 90 85
1 이영희 85 100
2 박민수 88 90
4. 컬럼 추가, 삭제, 이름 변경을 함께 사용하기
여러 작업을 한 번에 수행할 수도 있습니다.
예제: 컬럼 추가, 삭제 및 이름 변경 적용
# 새로운 데이터프레임 생성
data = {
'이름': ['김철수', '이영희', '박민수'],
'국어': [90, 85, 88],
'수학': [80, 95, 85]
}
df = pd.DataFrame(data)
# 컬럼 추가, 삭제, 이름 변경을 한 번에 수행
df = (
df.assign(영어=[85, 90, 82]) # 영어 점수 추가
.drop(columns=['국어']) # 국어 점수 삭제
.rename(columns={'수학': '수학 점수'}) # 컬럼명 변경
)
print(df)
실행 결과
이름 수학 점수 영어
0 김철수 80 85
1 이영희 95 90
2 박민수 85 82
마무리
이번 포스팅에서는 assign()
, drop()
, rename()
을 활용하여 컬럼을 추가하고 삭제하며 이름을 변경하는 방법을 살펴보았습니다. Pandas는 이처럼 직관적인 메서드를 제공하여 데이터 가공을 쉽게 수행할 수 있도록 합니다. 이를 활용하면 더욱 효율적으로 데이터를 다룰 수 있습니다.
반응형
'Python > Pandas' 카테고리의 다른 글
Pandas 날짜 데이터 처리 (to_datetime(), dt 속성 활용) (0) | 2025.10.07 |
---|---|
Pandas에서 문자열 데이터 다루기: str.contains(), str.replace() (0) | 2025.10.06 |
Pandas 데이터 정렬 및 필터링 (sort_values(), query()) (0) | 2025.10.04 |
Pandas 중복 데이터 제거 (drop_duplicates()) (0) | 2025.10.03 |
Pandas 결측치 처리 (isna(), fillna(), dropna()) (0) | 2025.10.02 |