본문 바로가기

머신러닝

# 파이썬 apply(), lambda() 이해하기

# data.apply(연산함수)

Dataframe에 apply(연산함수)를 실행하면 DataFrame 속 값들에 각각 접근하여 연산함수를 실행하고 결과를 각각 담은 새로운 dataframe을 반환합니다.

 

 

 

# lambda(x : ~~)

lambda는 파이썬에서 함수를 한 줄 만으로 정의하고 선언하도록 도와주는 함수입니다. def로 정의한 간단한 함수를 lambda를 통해서 쉽게 정의하고 선언할 수 있습니다.

  • def로 정의하고 선언하는 경우

  • lambda로 정의하고 선언하는 경우

x :  3*x + 2 에서 x는 입력값을 의미합니다. 이 입력값으로 3*x + 2의 연산을 수행하여 결과를 반환합니다.

 

 

 

# lambda와 apply를 응용

위의 내용을 응용하면 DataFrame속 각각의 값들에 접근하여 특정연산을 수행하고 결과를 받을 수 있습니다.

 

# lambda, apply, groupby를 응용

 여기서 apply와 lambda메서드를 응용하면 groupby객체의 그룹들 속에 우리가 새롭게 만든 연산을 수행하여 그 결과를 쉽게 받아 오는 코드를 작성 할 수 있습니다.

위 그림은

(1) heads라는 DataFrame을 'v18q'라는 feature의 label들로 그룹화 한 후,

(2) 'v18q1'의 feature만 추출하고,

(3) 각 그룹에 대하여 lambda이하의 연산을 수행하여,

(4) 각 그룹별 연산 결과를 출력하는

코드입니다.