[파이썬] lambda & apply 사용법
lambda & apply 사용이유
데이터 전처리 과정에서 DataFrame
을 원하는 대로 조작해야 할 경우가 생긴다. 여러가지 방법들 중에 apply() 함수와 lambda 사용법은 자주 사용한다.
lambda
lambda 매개변수 : 표현식
def add(x, y):
return x + y
add(1, 2)
30
두 수를 더하는 함수로 def()같은 경우 함수의 이름을 만들어야 되는데 lambda는 함수의 이름을 정의해주지 않아도 된다. 또한 코드가 3줄에서 1줄로 코드도 짧아진다.
(lambda x,y : x + y)(1,2)
3
apply
DataFrame
을 조작하다보면 내가 정의한 함수에 따라 데이터프레임의 값들을 변경하고 싶을때 사용된다.
import pandas as pd
date_list = [{'yyyy-mm-dd': '2000-06-27'},
{'yyyy-mm-dd': '2002-09-24'},
{'yyyy-mm-dd': '2005-12-20'}]
df = pd.DataFrame(date_list, columns = ['yyyy-mm-dd'])
df
def extract_year(row):
return row.split('-')[0]
df['year'] = df['yyyy-mm-dd'].apply(extract_year)
df
lambda & apply 함께 사용
df['year'] = df['yyyy-mm-dd'].apply(lambda row : row.split('-')[0])
df
위와 똑같은 결과를 얻을 수 있다.
df['age'] = df['year'].apply(lambda year : 2023 - int(year))
df
댓글남기기