데이터 분석에서는 종종 여러 컬럼의 값을 조합하여 새로운 값을 생성해야 하는 경우가 있습니다.
이럴 때 사용할 수 있는 방법 중 하나가,
함수를 정의하고 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)
'다양한 실전소스코드 > PYTHON데이터과학' 카테고리의 다른 글
파이썬으로 배우는 재귀함수, 상세 설명 (0) | 2023.03.19 |
---|---|
[중요]Pandas에서 Column 필터링 하는 3가지 방법 (0) | 2023.03.17 |
MinMaxScaler (Sklearn) 다양한 사용예 (0) | 2023.03.17 |
Pandas 컬럼을 딕셔너리로 매핑해서 새 컬럼에 추가하기 (0) | 2023.03.17 |
Pandas 날짜 컬럼의 시간값으로 오전 오후 분리하기 (0) | 2023.03.17 |
댓글