# 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) 각 그룹별 연산 결과를 출력하는
코드입니다.
'머신러닝' 카테고리의 다른 글
# 비슷한 correlation을 갖는 feature 제거하기 by df.triu(), df.where() (0) | 2020.02.17 |
---|---|
# startswith()함수 (0) | 2020.02.17 |
# Continuous 형 데이터의 분석 방법 : band로 묶어서 분석하기, groupby() 이용하기 (0) | 2020.02.16 |
# cross-validation (0) | 2020.02.16 |
# accuracy_score (0) | 2020.02.16 |