본문 바로가기
다양한 실전소스코드/PYTHON데이터과학

Pandas 함수 인자로 2개 컬럼 -> 새 컬럼 대입

by aibattle 2023. 3. 16.
728x90
반응형

데이터 분석에서는 종종 여러 컬럼의 값을 조합하여 새로운 값을 생성해야 하는 경우가 있습니다. 

이럴 때 사용할 수 있는 방법 중 하나가,

 함수를 정의하고 apply 함수를 사용하여 각 행에 함수를 적용하는 것입니다. 

 

이번 글에서는 파이썬 판다스의 apply 함수를 사용하여 2개의 컬럼 값을 인자로 받아 더하는 함수를 정의하고, 

이 함수를 데이터프레임의 각 행에 적용하여 결과 값을 새로운 컬럼에 추가하는 방법에 대해 설명하겠습니다.

먼저, apply 함수는 데이터프레임의 각 열 또는 각 행에 함수를 적용할 때 사용하는 함수입니다.

 함수를 적용하는 방식은 axis 옵션에 따라 다르며,

 axis=0인 경우 각 열에 함수를 적용하고, axis=1인 경우 각 행에 함수를 적용합니다.

예를 들어, 아래와 같은 데이터프레임이 있다고 가정해봅시다.


   A  B
0  1  4
1  2  5
2  3  6
이 데이터프레임의 각 행에 A와 B 값을 더하여 새로운 값을 생성하고 싶다면, 

다음과 같이 함수를 정의할 수 있습니다.


def my_func(x, y):
    return x + y


위 함수는 2개의 인자를 받아서 더한 값을 반환하는 함수입니다. 

이 함수를 apply 함수를 사용하여 데이터프레임의 각 행에 적용하려면, 다음과 같이 apply 함수를 호출합니다.

python
Copy code
df['C'] = df.apply(lambda row: my_func(row['A'], row['B']), axis=1)


위 코드에서 apply 함수의 첫 번째 인자로는 lambda 함수를 사용하여 각 행의 값을 my_func 함수에 전달하고, 

그 결과 값을 새로운 컬럼 'C'에 추가합니다.

이제 전체 코드를 보면 다음과 같습니다.

import pandas as pd


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

# 인자로 받은 두 개의 값을 더하는 함수 정의
def my_func(x, y):
    return x + y

# 함수를 apply 함수를 사용하여 데이터프레임의 각 행에 적용하고, 리턴 값을 새로운 컬럼에 추가
df['C'] = df.apply(lambda row: my_func(row['A'], row['B']), axis=1)

# 결과 출력
print(df)

 

 

728x90
반응형

댓글