본문 바로가기
데이터 이해하기/데이터 다루기

apply(), lambda()

by ag_zero 2021. 11. 1.
728x90

1. apply()

apply() 함수는 DataFrame의 칼럼에 복잡한 연산을 vectorizing 할 수 있게 해주는 함수로 매우 많이 활용되는 함수이다.

* aixs =0 : 열 , aixs =1 : 행

 

아래와 같은 데이터 프레임이 있다고 가정했을 때

df = pd.DataFrame([[1,2],[3,4],[5,6]], columns=['a','b'])

 

 

plus 함수를 적용해보자

def plus(x):
    x+=1
    return x
df['a'].apply(plus)

 

2. lambda()

lambda 입력변수 : 리턴값

 

 

위에서 plus 함수를 정의 하는대신 lambda()를 활용해 같은 출력 값을 얻을 수 있다.

df['a'].apply(lambda x : x+1)

 

 

apply와 lambda 활용한 파생변수 생성

train['공급_자격'] = train.apply(lambda x : x['공급유형'] + '_' + x['자격유형'], axis=1)
test['공급_자격'] = test.apply(lambda x : x['공급유형'] + '_' + x['자격유형'], axis=1)
train

출처 : 데이콘 주차수요 예측 AI 경진대회

 

 

 

 

 

 

 

 

 

참조

https://kibua20.tistory.com/194