brunch

You can make anything
by writing

C.S.Lewis

by 브래드 Dec 02. 2022

파이썬으로 데이터 전처리하기(10)

feat. pandas에서 apply, lambda, map 함수 활용

안녕하세요, 브래드입니다.


오늘은 파이썬으로 데이터 전처리하기 열 번째 시간으로 pandas에서 apply, lambda, map을 함께 학습해볼게요.



apply 함수

apply 함수

apply 함수는 데이터에 로직을 적용하고 싶을 때 사용할 수 있습니다.


apply 함수 사용을 위해선, 우선 로직이 정의된 함수를 만들어준 후 apply()함수에 대입해줘야 합니다.


위의 예시에서는 0값인 데이터 값을 100000으로 반환하는 함수를 만들어준 후, apply 함수를 출력해준 모습입니다.


1) 로직이 정의된 함수 만들어주기
 def 함수이름(x):
    if x==데이터 값:
         x=반환할 데이터 값
    return x

2) apply()함수에 대입하기
 df['컬럼명'] = df['컬럼명'].apply(함수이름)





lambda 함수

lambda 함수

lambda 함수는 apply에서 def 정의된 함수와 동일한 기능이며, 한 줄로 간편하게 표현할 수 있습니다.


사칙연산이나 쉽게 진행할 수 있는 문자열 추출 등에 lambda 함수를 사용합니다.


기본 사용법은 다음과 같습니다.

df['칼럼명'] = df['칼럼명'].apply(lambda '입력변수': '리턴값' '조건문(옵션)')


위의 예시에서는 마찬가지로 gmv 컬럼에 존재하는 0 값을 lambda를 활용하여 모두 100000으로 변환해준 모습입니다.


추가적으로 집계된 칼럼을 만들고 싶을 때 lambda 함수를 활용하여 만들어줄 수 있습니다.

ex) 두 컬럼을 나눈 값을 새로운 집계된 컬럼으로 만들기
df['컬럼명1/컬럼명2']=df.apply(lambda x: x['컬럼명1']/x['컬럼명2'], axis=1)





map 함수

map 함수

map 함수는 데이터 값을 특정한 값으로 매핑하고 싶을 때 사용할 수 있습니다.


주의해야 할 점은, map 함수는 하나의 칼럼인 series 형으로만 적용할 수 있습니다.


기본 사용법은 다음과 같습니다.

df['컬럼명'].map(매핑 정보) 


위의 예시에서는 먼저 매핑 정보인 map_info를 정의한 후, df['category'] = df['category'].map(map_info)를 통해 상의는 옷으로 하의는 바지로 매핑하여 출력한 모습입니다.




지금까지 파이썬으로 데이터 전처리하기 열 번째 시간으로 pandas에서 apply, lambda, map 함수를 활용해보는 시간을 가져보았습니다.


다음 시간에는 pandas에서 데이터 프레임 시각화를 함께 알아보아요.


브래드였습니다. 감사합니다.

매거진의 이전글 파이썬으로 데이터 전처리하기(9)
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari