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 |