본문 바로가기
Python/Pandas

pandas.apply로 사용자 정의 함수 적용하기

by PySun 2025. 5. 7.
반응형

Pandas의 apply로 사용자 정의 함수 적용하기: 데이터프레임 변환의 혁신

데이터 분석의 세계에 발을 들여놓았다면, Pandas 라이브러리가 얼마나 강력한 도구인지 잘 알고 계실 것입니다. 특히 apply 메서드는 데이터프레임의 각 요소에 대해 사용자 정의 함수를 손쉽게 적용할 수 있게 해주며, 정교한 데이터 변환과 처리를 가능하게 합니다. 이번 포스팅에서는 pandas.apply 메서드를 통해 사용자 정의 함수를 적용하는 방법에 대해 알아보겠습니다.

Pandas apply 메서드 소개

apply 메서드는 데이터프레임의 행 또는 열에 대해 직접적으로 함수를 적용하는 매우 유용한 도구입니다. 데이터프레임의 각 요소에 대해 동일한 신뢰성을 유지하면서도, 다양한 변환 작업을 수행할 수 있어 분석의 효율성이 높아집니다. 간단한 계산부터 복잡한 변형까지, 사용자 정의 함수와 함께 사용할 수 있는 무한한 가능성이 열립니다.

함수 시그니처

DataFrame.apply(func, axis=0)

매개변수:

  • func: 적용할 사용자 정의 함수입니다.
  • axis: 함수를 적용할 축을 설정합니다. (0은 열, 1은 행)

반환 값:

  • 함수를 적용한 결과로 데이터프레임을 반환합니다.

사용 예제

기본 예제

다음은 pandas.apply 메서드를 사용하여 간단한 사용자 정의 함수를 데이터프레임에 적용하는 예제입니다.

import pandas as pd

# 샘플 데이터프레임 생성
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)

# 사용자의 정의 함수
def square(x):
    return x ** 2

# apply 메서드를 사용하여 함수 적용
squared_df = df.apply(square)

print(squared_df)
# 출력:
#    A   B
# 0  1  16
# 1  4  25
# 2  9  36

복잡한 예제

사용자 정의 함수는 여러 매개변수를 받을 수 있으며, 다양한 열에 대한 복잡한 처리를 수행할 수 있습니다.

import pandas as pd

# 샘플 데이터프레임 생성
data = {'이름': ['Alice', 'Bob', 'Charlie'],
        '점수': [82, 90, 85],
        '수업 참여': [1, 0, 1]}
df = pd.DataFrame(data)

# 사용자 정의 함수: 점수에 따라 등급 부여
def assign_grade(row):
    if row['점수'] >= 90:
        return 'A'
    elif row['점수'] >= 80:
        return 'B'
    else:
        return 'C'

# apply 메서드와 axis=1을 사용하여 행 단위로 함수 적용
df['성적'] = df.apply(assign_grade, axis=1)

print(df)
# 출력:
#       이름  점수  수업 참여 성적
# 0   Alice   82        1  B
# 1     Bob   90        0  A
# 2 Charlie   85        1  B

결론

pandas.apply 메서드는 단순한 변환부터 복잡한 로직까지 사용자 정의 함수를 적용하는 데 필요한 유연성과 편리함을 제공합니다. 이를 통해 데이터프레임을 효과적으로 변환하여 귀찮은 수작업에서 해방될 수 있습니다.

  • 지금 바로 사용자 정의 함수를 만들어 데이터프레임을 변환해 보세요!
  • 새로운 인사이트를 발견하고, 데이터 분석의 재미를 느껴보세요!
반응형