<기획의도>
각 주의 사회적, 경제적, 기후 여건에 따라 특정 물품에 대한 소비가 행태가 나타날 것이다. 가령 기온이 높은 날 시원한 빙과류나 음료의 소비가 증가하는 것 처럼 말이다. 각 주마다 많이 구매하는 품목이 있는지 그리고 그 품목이 무엇인지를 파악하면 그 주의 경제적 여건이나 사회문제를 파악 할 수 있을 것이고 더 나아가 여러 주에서 공통적으로 소비되는 품목이 무엇인지 파악할 수 있을 것이며 그것을 기반으로 브라질이라는 국가의 여러가지 상황을 판단하고 예측하는데 이바지 할 수 있는 데이터를 추출 할 수 있지 않을 까라는 생각에 분석하게 되었다.
<분석 진행 과정>
- state로 groupby하여 'procategory_name_english'로 데이터 프레임을 가져온다.
- 각 주에서 주문한 카테고리를 value_counts로 확인해본다
- 각 주에서 value_counts가 max인 값을 찾아본다.
- value_counts가 max인 값들 중에서 공통되는 것들이 있는지 알아본다
- groupby 된 state들에서 공통되는 카테고리가 있는지 파악해본다
- 공통되는 것이 없다면 최빈값을 가지는 카테고리를 구해본다
- value_counts가 max인 값들 중에서 공통되는 상품과 groupby 된 state들에서 공통되는 카테고리가 연관이 있는지 파악해보자
- 지금까지 나온 데이터를 지도, 히트맵, 막대그래프로 시각화 한다.
1. 브라질을 구성하는 state 파악하기
df['state'].nunique() |
27
브라질은 총 27개의 주로 구성 되어있고
state_list=df['state'].unique() state_list |
각주의 이름은 다음 처럼 리스트 형태로 추출하였다. 나중에 반복문의 매개변수로 쓰기 위함이다.
2. 27개의 주에서 가장 많이 소비되는 품목이 있는지 그리고 있다면 공통되는 품목이 있는지 파악하기
cs_1이라는 데이터 프레임에 각 주별 주문한 물품 카테고리를 빈도수가 많은 순서대로 정렬한 값을 초기화 한다.
cs=df[['state','product_category_name_english']] cs_1 = cs.groupby('state')['product_category_name_english'].value_counts() cs_1 = pd.DataFrame(cs_1) cs_1.head(60) |
3. 각 state에서 가장 많이 주문한 카테고리들 만을 파악해보자.
states = list() for i in range (len(state_list)): se = state_list[i] states.append(se) len(states) |
states에 stat_list에 넣어둔 27의 주들의 값을 초기화 한다.
haha=haha.sort_values('state') haha |
haha=pd.DataFrame({"max": zzz[0], "category": zzz[1], "state": zzz[2]}) # pd.DataFrame(data = zzz, columns = ['max', 'category', 'states']) haha.value_counts('category') |
27개의 state에서 16개의 state에서 healthy beauty 카테고리를 많이 구매하였고, 6개의 state에서 bed bath table 카테고리를 많이 구매하였다. 수많은 카테고리 중에서 2개의 카테고리에 브라질의 소비가 집중 된다는 것을 알 수 있었다.
'EDA > 프로젝트' 카테고리의 다른 글
Brazil의 국민들은 어떤 상품을 소비 할까?(1) 👀 (0) | 2021.07.28 |
---|