Python/Pandas

Pandas 컬럼 추가, 삭제 및 데이터 수정하기

임베디드 친구 2025. 10. 5. 21:06
반응형

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는 이처럼 직관적인 메서드를 제공하여 데이터 가공을 쉽게 수행할 수 있도록 합니다. 이를 활용하면 더욱 효율적으로 데이터를 다룰 수 있습니다.

반응형