본문 바로가기
728x90
반응형
SMALL

Data-driven Methodology98

[Data Science] 데이터 시각화 (1) 시각화 (Visualization) 인간은 눈 망막 자극이 뇌에 전달될 때 정보의 의미를 파악할 수 있게 진화한 동물이다. 인간은 감각 중의 대부분을 시각에 의존하는 데 일반적으로 시각이 77%, 청각이 13%, 후각이 7%, 나머지 3%는 촉각과 미각이 나뉜다. 빅데이터 시대의 도래로 데이터를 가공하지 않고 눈으로 보고 파악할 수 있는 한계를 넘어섰다. 따라서, 데이터 시각화 (Data visualization)는 매우 효과적으로 정보를 전달하는 수단이 되고 있다. 시각화 라이브러리 내장 라이브러리 Pandas에 내장된 기본 그래프 라이브러리로써 별도의 라이브러리 import 없이 사용 가능하다. Matplotlib Pandas에서 가장 많이 쓰는 라이브러리로써 데이터 프레임을 시각화할 때도 내부적으로.. 2022. 9. 22.
[Data Science] 공공포털 데이터 (9) scatter plot scatter plot은 수치형 데이터가 어디 좌표에 위치하는지 출력할 때 주로 이용된다. 보통은 상관계수, 회귀선을 출력하는데 사용하는데 지리 데이터에서도 사용이 가능하다. 이 scatter plot은 데이터가 어디쯤에 위치하는지를 나타냈지만 정확한 위치는 알기 어렵다. 지역에 따라 다른 색으로 표시한다. Folium Folium map에 직관적으로 지역을 표시 가능하다. # folium 설치 conda install -c conda-forge folium import folium df_seoul_hospital["위도"].mean() df_seoul_hospital["경도"].mean() 처음 folium.Map만 찍으면 세계지도가 나오지만 location과 zoom_start.. 2022. 9. 22.
[Data Science] 공공포털 데이터 (8) 특정 지역만 보기 서울특별시의 데이터만 샘플링을 진행한다. df_seoul = df[df["시도명"] == "서울특별시"].copy() df_seoul.shape 서울시의 구에 얼마나 많은 가게가 있는지 파악한다. df_seoul ["시도명"].value_counts() # bar plot df_seoul ["시도명"].value_counts().plot.bar(figsize=(10, 4), rot=30) # seaborn count plot plt.figure(figsize=(15, 4)) sns.countplot(data=df_seoul, x="시군구명") # matplotlib scatter plot df_seoul[["경도", "위도", "시군구명"]].plot.scatter(x="경도", y=".. 2022. 9. 22.
[Data Science] 공공포털 데이터 (7) 텍스트 데이터 전처리 df_seoul_drug["시군구명"] value_counts()를 하고, 데이터를 c라는 변수에 지정한다. c = df_seoul_drug["시군구명"].value_counts() c.head() 데이터 시각화 c.plot.bar(rot=60) normalize한 데이터도 n이라는 변수에 지정한다. n = df_seoul_drug["시군구명"].value_counts(normalize=True) n.head() 조건을 넣어 서울시의 종합병원만 분석한다. df_seoul_hospital = df[df["상권업종소분류명"] == "종합병원" & (df["시도명"] == "서울특별시")].copy() df_seoul_hospital 시군구명을 불러 온다. df_seoul_hospital.. 2022. 9. 22.
[Data Science] 공공포털 데이터 (6) 원하는 데이터 추출 df["상권업종중분류명"] == "약국/한약방" 0 False 1 False 2 False 3 False 4 False ... 20053 False 20054 False 20055 False 20056 False 20057 False Name: 상권업종중분류명, Length: 20058, dtype: bool df[df["상권업종중분류명"] == "약국/한약방"] # copy를 통해 df_medical이라는 변수에 지정 df_medical = df[df["상권업종중분류명"] == "약국/한약방"].copy() 원하는 데이터 추출 : 여러개 조건 사용 # 1개 조건 df[df["상권업종대분류명"] == "의료"]] 상권업종대분류명이 의료인 데이터의 상권업종중분류명을 가져오고 싶을 때 l.. 2022. 9. 22.
[Data Science] 공공포털 데이터 (5) seaborn : 그래프 그리기 seaborn은 대체로 x, y의 data를 기본으로 넣어줘야 하지만 countplot은 x,y 중 하나만 넣어도 된다. sns.countplot(data=df, y="시도명") 데이터 가공 상권업종대분류명의 데이터 값 당 개수를 센다. df["상권업종대분류명"].value_counts() 상권업종중분류명의 데이터 값 당 개수를 센다. 이 데이터를 c라는 변수로 지정한다. c = df["상권업종중분류명"].value_counts() c.plot.bar(rot=0) c = df["상권업종소분류명"].value_counts() c.plot.bar() c.plot.bar(figsize=(7,8), grid=True) normalize는 전체 대비 비율을 보여 준다. 이 데이터를.. 2022. 9. 21.
[Data Science] 공공포털 데이터 (4) 중복값 제거 df.describe(include="object")로 문자열 데이터를 요약하여 보면 unique라는 수치가 나온다. unique는 값의 종류가 몇 개인지를 보여 준다. df["상권업종대분류명"].unique() array(['소매', '학문/교육', '음식', '부동산', '생활서비스', '관광/여가/오락', '숙박', '스포츠'], dtype=object) df["상권업종대분류명"].nunique() 8 df["상권업종중분류명"].unique() array(['건강/미용식품', '취미/오락관련소매', '시계/귀금속소매', '학원-보습교습입시', '한식', '유흥주점', '학원-창업취업취미', '자동차/자동차용품', '부동산중개', '사진/광학/정밀기기소매', '도서관/독서실', '커피점/.. 2022. 9. 21.
[Data Science] 공공포털 데이터 (3) 기초 통계값 데이터 타입을 알기 위해서 dtypes를 찍어볼 수 있다. df["위도"].dtypes dtype('float64') 평균값 df["위도"].mean() 37.54507079641079 중앙값 df["위도"].median() 37.54087611904785 최대값 df["위도"].max() 37.6885746552912 최소값 df["위도"].min() 37.4340982285396 갯수 df["위도"].count() 14030 요약값 df["위도"].describe() count 14030.000000 mean 37.545071 std 0.050096 min 37.434098 25% 37.504652 50% 37.540876 75% 37.573545 max 37.688575 Name: 위도.. 2022. 9. 21.
[Data Science] 공공포털 데이터 (2) 결측치 결측치 (Missing Value)는 말 그대로 데이터에 값이 없는 것을 뜻한다. 줄여서 'NA'라고 표현하기도 하고, 다른 언어에서는 Null 이란 표현을 많이 쓴다. 결측치는 데이터를 분석하는데에 있어서 매우 방해가 되는 존재이다. 결측치의 특성이 '무작위로 손실' 되지 않았다면, 대부분의 경우 가장 좋은 방법은 제거하는 것이다. 제거하는 방식은 목록 삭제 (Listwist) 단일값 삭제 (Pairwise) 방식으로 다시 구분된다. pandas에서 제공하는 Na/NaN과 같은 누락 데이터를 제거하는 함수가 있다. df.isnull() null_count = df.isnull().sum() 상가업소번호 0 상호명 0 지점명 105507 상권업종대분류코드 0 상권업종대분류명 0 상권업종중분류코드 .. 2022. 9. 19.
[Data Science] 공공포털 데이터 (1) 공공데이터 포털 공공 데이터 포털에는 다양한 분야의 데이터가 존재한다. 소상공인시장진흥공단에서 상권 정보 데이터를 csv, api 형태로 제공하고 있다. 소상공인시장진흥공단_상가(상권)정보.zip 파일을 다운로드한다. 필요한 라이브러리 import pandas as pd import numpy as np import seaborn as sns import matplotlib.pyplot as plt numpy : 고성능의 수치계산, 행렬이나 대규모 다차원 배열을 쉽게 처리하기 위한 라이브러리 seaborn : 데이터 시각화를 위한 라이브러리 matplotlib : 데이터 시각화 라이브러리 시각화를 위한 폰트 설정 # 한글 폰트 설정 (주석 처리 단축키) .. 2022. 9. 18.
728x90
반응형
LIST