[Python] 29. Pandas 데이터프레임 apply 함수 사용하기

pandasapply() 함수는 데이터프레임 또는 시리즈의 각 요소에 대해 사용자 정의 함수를 적용하거나 내장 함수를 적용하는 데 사용됩니다.
이 함수를 사용하면 데이터프레임의 열 또는 행에 대한 연산을 쉽게 수행할 수 있습니다.
아래에서 apply() 함수의 다양한 예제와 사용법을 상세히 설명하겠습니다.

apply 함수 기본적인 사용법

apply() 함수의 기본적인 사용법은 열 또는 행에 함수를 적용하는 것입니다.
아래 예제는 각 열에 대해 합계를 계산하는 방법을 보여줍니다.

import pandas as pd

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

# 각 열에 대해 합계를 계산하는 함수 정의
def calculate_sum(column):
    return sum(column)

# apply() 함수를 사용하여 각 열에 함수 적용
column_sums = df.apply(calculate_sum)
print(column_sums)

출력 결과

A    10
B    26
dtype: int64

요소별 함수 적용

apply() 함수를 사용하여 요소별 함수 적용도 가능합니다.
예를 들어, 각 요소에 대해 제곱을 계산하는 방법은 다음과 같습니다.

import pandas as pd

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

# 각 요소에 대해 제곱을 계산하는 함수 정의
def square_element(element):
    return element ** 2

# applymap() 함수를 사용하여 각 요소에 함수 적용
squared_df = df.applymap(square_element)
print(squared_df)

출력 결과

    A
0   1
1   4
2   9
3  16

열 또는 행 방향 선택

apply() 함수를 사용하여 열 또는 행 방향으로 함수를 적용할 수 있습니다.
axis 매개변수를 사용하여 방향을 선택할 수 있습니다. 기본값은 axis=0으로 열 방향입니다.
아래 예제는 각 행의 최댓값을 찾는 방법을 보여줍니다.

import pandas as pd

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

# 각 행의 최댓값을 찾는 함수 정의
def find_max(row):
    return max(row)

# apply() 함수를 사용하여 각 행에 함수 적용 (axis=1은 행 방향)
row_maxes = df.apply(find_max, axis=1)
print(row_maxes)

출력 결과

0    5
1    6
2    7
3    8
dtype: int64

람다 함수 활용

apply() 함수와 함께 람다 함수를 사용하여 간단한 함수를 인라인으로 정의할 수도 있습니다.

import pandas as pd

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

# 람다 함수를 사용하여 각 열에 대한 합계 계산
column_sums = df.apply(lambda x: sum(x))
print(column_sums)

출력 결과

A    10
B    26
dtype: int64

apply() 함수는 데이터프레임과 시리즈에서 사용자 정의 함수 또는 내장 함수를 적용하는 강력한 도구입니다.
이를 통해 데이터 처리와 변환 작업을 쉽게 수행할 수 있습니다.
함수를 적용할 때 axis 매개변수를 적절하게 설정하여 열 또는 행 방향으로 함수를 적용하세요.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤