본문 바로가기

Python 입문

데이터 분석 1-1. 상권 분석

1. 목적

첫 번째로는 특정 지역(서울)에서 치킨집이 가장 많이 분포하는 곳을 찾아내고,

추가로 의미 있는 데이터가 있을지 살펴보고 분석할 예정이다.

 

2. 준비: 지역 구분

데이터를 분석하기 전에는 항상 목적(무엇을, 어떻게, 왜 살펴볼 것인지)이 명확하게 정하고 난 다음,

 

데이터를 불러오고

import.pandas as pd

commercial = pd.read_csv('./data/commercial.csv')

commerical

 

데이터를 살펴보고

commercial.tail(5)

list(commercial), len(list(commercial))

 

유니크한 값을 찾아내어 개수를 세거나 데이터를 취합할 때 활용할 수 있는 지표값을 찾고

commercial.groupby('상가업소번호')['상권업종소분류명'].count().sort_values(ascending=False)

 - 참고: ascending=false 라고 소문자를 입력하면 에러가 난다.

 

원하는 데이터만 추출하거나 가공(전처리)을 진행한다.

예를 들어, 서울특별시 ㅇㅇ구 ㅇㅇ로 등으로 기재되어 있는 상세 주소 데이터를

 

commercial[['시', '구', '상세주소']] = commercial['도로명'].str.split(' ', n=2, expand=True)

공백을 기준(' ')으로 3개의 덩어리(n=2)로 쪼개서

 - 도로명은 스트링(str)이므로 str.split 하고

열을 늘리고(expand=True)

열의 헤더를 입력(['시', '군', '상세주소'])해준다.

 

seoul_data = commercial[commercial['시'] == '서울특별시']

특정 지역(서울)만 필요하므로 ['시'] 열에서 서울특별시와 같은(==) 데이터만 골라내고

seoul_data라고 저장한다.

 

3. 검증

과연 내가 준비한 데이터가 올바르게 추출되었을까?

데이터 검증은 필수다.

 

city_type = set(seoul_data['시'])

city_type, len(city_type)

 

seoul_data가 알맞게 추출되었는지 살펴보려면, 중복 값을 제거해주면 될 것 같고

city_type라고 저장해서 살펴보면서,

데이터 길이(len)까지 1개가 맞는지 확인한다.

 

4. 준비: 구별 치킨집 개수

이제 준비된 데이터는 서울특별시에 있는 모든 상점 리스트이다.

여기에서 ㅇㅇ구별 치킨집 개수를 세어보고 싶으므로,

우선 치킨집만 추출한다.

seoul_chicken_data = seoul_data[ seoul_data['상권업종소분류명'] == '후라이드/양념치킨' ]

 

groupdata = seoul_chicken_data.groupby('구')
group_by_category = groupdata['상권업종소분류명']
chicken_count_gu = group_by_category.count()
sorted_chicken_count_gu = chicken_count_gu.sort_values(ascending=False)
sorted_chicken_count_gu

 

그리고 순서대로 구별로 묶고(groupby)

구별로 묶인 치킨집의 개수(여기서는 '상권업종소분류명'을 센다)를 세고(count)

구별로 오름차순 정렬한다.

'Python 입문' 카테고리의 다른 글

데이터 분석1-3. 워드 클라우드  (0) 2021.06.26
데이터 분석1-2. 이탈 분석  (0) 2021.06.26
Matplotlib 연습  (0) 2021.05.23
Pandas 연습  (0) 2021.05.23
파이선 기초 문법 정리 2  (0) 2021.05.19