Pandas 기초 5편

1. map

 

판다스의 series에도 각 요소에 함수를 적용시키는 map이 가능

 

series로 반환

 

그림1. series의 모든 원소에 제곱을 하는 map

위 그림은 series s1의 모든 요소에 함수 f를 적용시킨 map의 예시

 

모든 요소에 제곱을 수행하여 series로 반환함

 

그림2. map을 수행해도 원본은 그대로

 

series s1에 map을 수행해도 원본 s1은 그대로 있다

 

map을 활용하여 데이터를 교체하는 기법

 

그림3. map의 예시1

 

map으로 dict를 넣으면 dict의 key를 index로 보고 해당 index에 value를 집어넣음

 

그림4. map의 예시2

 

s1의 인덱스를 먼저 넣고 s2의 대응되는 인덱스의 값으로 넣는거임

 

그림5. map을 활용한 one hot encoding1

 

df의 sex 열에 map을 활용하여 남자면 0 여자면 1을 대응시키는 one hot encoding을 수행

 

df.sex.unique()를 이용해 df.sex에는 male과 female밖에 없으니까 0 아니면 1로 encoding 할 수 있음

 

그림6. map을 활용한 one hot encoding 2

 

dict를 넣어서 조금 더 직관적으로 one hot encoding한 예시

 

df.sex에서 male은 0으로 바꾸고 female은 1로 바꾼 다음에 sex_code라는 새로운 열을 만들어

 

 

2. replace

 

데이터를 바꾸기 할 때 사용

 

그림7. replace를 이용한 one hot encoding 예시

 

sex의 열 데이터를 바로 바꿔버린다

 

대신 원본은 그대로라서 inplace=True를 해야 원본이 변한다

 

 

3. apply

 

데이터프레임에서 series 별로 series 전체에 함수를 적용

 

map이 series에 적용을 했지만 apply는 하나의 dataframe에서 함수를 series별로 적용시킴

 

그림8. apply를 이용하여 함수를 적용한 모습

 

np.mean이라는 내장함수 사용해도 똑같다

 

여러 연산을 적용할 수도 있음

 

그림9. min, max, mean, null을 찾는 연산을 한번에 적용한 모습

 

apply가 series별로 적용했다면 applymap은 dataframe 전체에서 개별요소에게 함수 적용

 

그림10. applymap을 적용한 모습

 

df_info 내의 모든 개별 원소에 f를 적용한 모습임

 

'프로그래밍 > Pandas' 카테고리의 다른 글

Pandas 기초 7편  (0) 2021.12.02
Pandas 기초 6편  (0) 2021.11.25
Pandas 기초 4편  (0) 2021.11.24
Pandas 기초 3편  (0) 2021.11.24
Pandas 기초 2편  (0) 2021.11.23
TAGS.

Comments