본문 바로가기

Pandas/응용

판다스 - map : dict.get

반응형

데이터 불러오기

 

titanic 데이터셋의 일부 컬럼

 

 

 

who 컬럼의 고유값

 

 

 

 

[목표 : man, woman은 adult로 변경 / child는 그대로 유지]

 

 

try1 : 딕셔너리와 map 이용

 

 

 

하나의 컬럼은 시리즈이며 이는 순차적 자료형이기 때문에

 

map 메서드를 이용할 수 있으며 

 

map 메서드에 딕셔너리를 이용해 기존값을(key) 대체값(value)으로 바꿔줄 수 있다.

 

 

단, key에 해당하는 값이 없다면 NaN을 반환한다.

 

try1 실패

 

 

 

 

 

 

 

try2 : 딕셔너리.get, map 이용

 

get(x) 함수는 x라는 Key에 대응되는 Value를 돌려준다.


딕셔너리 안에 찾으려는 Key 값이 없을 경우

미리 정해 둔 디폴트 값을 대신 가져오게 하고 싶을 때에는

get(x, '디폴트 값')을 사용하면 편리하다.
(출처 : 점프투파이썬)

 

 

try1과는 방법이 비슷하나

 

lambda 함수와 딕셔너리의 get을 이용했다.

 

man 또는 woman처럼 정해진 key가 입력되면 정해진 value인 adult가 나오지만

 

사전에 없는 key인 child가 들어가면 그냥 디폴트 값인 원본값이 반환된다.

 

이렇게 원하는대로 adult와 child가 나왔다.

 

try2 성공

 

 

 

 

** 참고 

 

위 작업은 함수 정의와 apply로도 가능하다.

 

반응형