python

[python] apply lambda

독립성이 강한 ISFP 2022. 5. 30. 02:56
728x90
반응형

lambda 란?

def get(x):
    return x**2
get(3)
9

위의 함수는 def get(x) 와 같이 함수명, 입력 인자를 먼저 선언한 후 return

But,  lambda는 이러한 함수의 선언과 함수 내의 처리를 한 줄의 식으로 쉽게 변환하는 식.

get = lambda x : x**2
get(3)
9

apply lambda

titanic_df['Name_len']=titanic_df['Name'].apply(lambda x : len(x))
titanic_df[['Name_len','Name']]

apply lambda ( if ~ else 문)

lambda 식에서 if ~ else 문을 쓸 때 유의 할점 => if 절의 경우 if 식보다 반환 값을 먼저 기술해야 함

(child if x<=15 : 만약 x가 15보다 작거나 같다면 'child')

titanic_df['Child_adult']=titanic_df['Age'].apply(lambda x : 'child' if x<=15 else 'Adult')
titanic_df[['Child_adult','Age']]

apply lambda ( if ~ else ~else 문)

titanic_df['Child_adult']=titanic_df['Age'].apply(lambda x : 'child' if x<=15 else ('Adult' if x<=60 else 'Elderly'))
titanic_df[['Child_adult','Age']]

apply lambda 활용

def get(age):
    if age<=5: 
        cat='Baby'
    elif age<=12:
        cat='Child'
    elif age<=18:
        cat='Teenager'
    elif age<=25:
        cat='Student'
    elif age<=35:
        cat='Young Adult'
    elif age<=60:
        cat='Adlut'
    else:
        cat='Elderly'
    return cat
    
titanic_df['Age_cat']=titanic_df['Age'].apply(lambda x: get(x))
titanic_df[['Age_cat','Age']]

728x90
반응형

'python' 카테고리의 다른 글

[python] 결측값(null/nan) 개수/ 존재 구하는 방법  (0) 2023.03.18
[python] Class, __init__, 상속  (0) 2023.02.15
[python] reset_index( )  (0) 2022.05.30
[python] stack & unstack  (0) 2022.05.19
[python] bar / barh 그래프  (0) 2022.05.19