본문 바로가기

EDA/프로젝트

Brazil의 국민들은 어떤 상품을 소비 할까? (2)👀

<기획의도>

각 주의 사회적, 경제적, 기후 여건에 따라 특정 물품에 대한 소비가 행태가 나타날 것이다. 가령 기온이 높은 날 시원한 빙과류나 음료의 소비가 증가하는 것 처럼 말이다. 각 주마다 많이 구매하는 품목이 있는지 그리고 그 품목이 무엇인지를 파악하면 그 주의 경제적 여건이나 사회문제를 파악 할 수 있을 것이고 더 나아가 여러 주에서 공통적으로 소비되는 품목이 무엇인지 파악할 수 있을 것이며 그것을 기반으로 브라질이라는 국가의 여러가지 상황을 판단하고 예측하는데 이바지 할 수 있는 데이터를 추출 할 수 있지 않을 까라는 생각에 분석하게 되었다.

 

<분석 진행 과정>

  • 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