자신에게 친절할 것 :)

Data Science/Pandas

[EDA] 카테고리 분류, .map()

Tashapark 2024. 6. 7. 16:41
728x90

# 코드잇 데이터 사이언스 강의 듣는 중


<카테고리 분류>

- python dictionary를 사용하면 한 번에 바꾸고 싶은 값들을 바꿀 수 있음. 

- .map() --> series의 각 요소에 간단한 함수를 적용하여 변경하고 싶을 때 자주 사용

 1) ()안에 함수를 넣어주거나, 

2) 앞의 벡터 뒤에 조건식 값을 더해서 넣을 때  그 위치를 잡기 위함.

+ 진짜 mapping ; 그냥 뒤에 붙여 넣어주는 것으로 이해

 

import pandas as pd
import seaborn as sns

df = pd.read_csv('data/laptops.csv')
df.head()

 

--> 브랜드의 제조 국가를 넣고 싶음. 

 

 

 

 

 

 

 

- 브랜드에 해당하는 제조국가를 파이썬 사전으로 만들어줌. 

brand_nation ={
    'Dell' : 'U.S',
    'Apple' : 'U.S',
    'Acer' : 'Taiwan',
    'HP' : 'U.S',
    'Lenovo' : 'China',
    'Alienware' : 'U.S',
    'Microsoft' : 'U.S',
    'Asus' : 'Taiwan'
}

 

- .map() --> 사전의 변수명을 넣어주면 해당 키가 다 밸류 값으로 다 바뀜. 

df['brand'].map(brand_nation)

 

--> 기존의 브랜드명이 다 변경된 것. 

 

 

 

 

 

 

 

- 벡터에 추가해줄 수 있음. 

df['brand_nation'] = df['brand'].map(brand_nation)
df

 

++ 무조건 벡터에 할당을 해야함.

만약에 기존 데이터에 덮어 쓰고 싶으면, 기존 데이터에 할당을 해야지 위처럼 그냥 쓰면 적용이 안됨. 

df['지역번호'] = df['지역번호'].map(local_num)

df.rename(columns = {'지역번호' : '지역명'}, inplace = True)

 

 

+++ 이러면 아까 했던 True, False도 사전으로 활용할 수 있을 것으로 보임. 

값이 많지 않아서 그냥 할 수도 있지만. 어쨌든.

728x90
반응형