오늘은 파이썬 "함수 매핑"에 대해 알아보자

 

# 1. 개념

 

함수 매핑이란, 시리즈나 데이터프레임의 개별 원소를 특정 함수에 일대일 대응시키는 과정을 말한다.

 

사용자가 직접 만든 함수(Lamda함수 포함)를 적용할 수 있기에,

 

반복문이나 기본 함수로 처리하는 것보다 훨씬 효율적이다.

 

 

아래 간단한 활용 예시를 봐보자!

 

가끔 일괄적으로 한글데이터를 숫자데이터로 바꿔줘야할 때가 있다.

 

이 때, 1:1로 매핑을 해서 넣어준다.

 

 

 

 

이렇게 지역명과 지역별 코드번호가 있는 데이터프레임이있고

= df1

 

 

 

 

 

 

 

 

 

오른쪽의 location에 해당 지역명 대신 위 코드번호를 넣으려고한다.

오른쪽 데이터프레임 = df2

 

 

 

 

 

이 때, df1을 아래처럼 딕셔너리 형태로 바꾸고

df1_dic = tb_sido.set_index('name')['code'].to_dict()

  • 데이터프레임에서 'name'이라는 컬럼을 인덱스로 설정한 후, 'code' 컬럼의 값을 딕셔너리 형태로 변환.
  • 결과적으로 'name' 값을 키(key)로, 'code' 값을 값(value)으로 갖는 딕셔너리가 생성.

 

 

아래처럼 맵핑해주면 끝!

 

df2.location =df.location.map(df1_dic)

  • 앞서 생성한 딕셔너리를 사용하여 'location' 컬럼의 값을 변환.
  • 즉, 'location' 컬럼의 각 값에 df1_dic 딕셔너리의 키(key = 여기선 지역명)가 존재하면, 해당 값에 대응하는 'code' 값으로 변환.

 

 

최종 결과

 

 

이번편에선 간단한 개념과 예시를 들었다.

 

-> Part 2 에서 본격적으로 함수 매핑에 대해 자세히 다뤄보겠다...

+ Recent posts