데이터 분석
-
[도시공원 분석] 정규표현식 및 워드 클라우드데이터 분석 2021. 9. 23. 21:12
텍스트 데이터 정규 표현식 (regexp) 텍스트 데이터를 정교하게 전처리 하기 위해 정규 표현식을 사용한다. # 정규표현식 라이브러리 로드 import re gym = df['공원보유시설(운동시설)'].unique().tolist() gym = str(gym) gym[:1000] 위와 같이 '+'로 연결되어 있거나 의미 없는 숫자가 붙어 있는 경우 제거해야 한다. 불필요한 문자들을 쉼표로 변경한다. # ','를 빈문자로, 공백을 ','를, +를 ','로 변경 gym = gym.replace('+', ",").replace("'", ",").replace(" ", ",").replace("/", ",") gym[:1000] # 특수문자, 숫자, nan, 대괄호 제거 gym = re.sub("[\[\d\-..
-
[도시공원 분석] Pandas Profiling데이터 분석 2021. 9. 22. 21:22
전국 도시 공원 데이터 https://www.data.go.kr/dataset/15012890/standard.do 시간, 결측치, 이상치, 수치형, 범주형 데이터 처리. 정규표현식을 활용해서 텍스트 데이터 전처리와 데이터 마스킹 기법 활용. 전국 도시공원에 대한 분포를 시각화. (클러스터 형식) 워드 클라우드 설치 conda install -c conda-forge wordcloud Pandas Profiling 인터렉션하며 데이터 보여주기 위함. conda install -c conda-forge pandas-profiling Pandas Profiling 불러오기 import pandas_profiling pandas_profiling.__version__ from pandas_profiling i..
-
[프랜차이즈 분석] 파리바게트와 뚜레쥬르 위치 분석데이터 분석 2021. 9. 19. 20:22
파리바게트와 뚜레쥬르 매장 위치가 서로 어떤 관계를 갖는지 데이터 분석 해보자. 데이터 가져오기 df_seoul['상호명'].str.extract("뚜레(주|쥬)르")[0].value_counts() df_bread = df_seoul[df_seoul["상호명"].str.contains("뚜레(주|쥬)르|파리(바게|크라상)")].copy() df_bread.shape df_bread.head(10) 범주형 변수 빈도수 계산하기 # 비율을 알아본다. df_bread["브랜드명"].value_counts(normalize=True) sns.countplot(data=df_bread, x="브랜드명") plt.figure(figsize=(15, 4)) sns.countplot(data=df_bread, x="..
-
[프랜차이즈 분석] 배스킨라빈스와 던킨 위치 분석데이터 분석 2021. 9. 18. 21:59
데이터 불러오기공공데이터 포털 : https://www.data.go.kr/dataset/15012005/fileData.do공공데이터 포털에서 소상공인시장진흥공단 상가업소정보를 다운로드 받아 사용했습니다 df = pd.read_csv('data/상가업소정보_201912_01.csv', sep='|')df.head() 서울 데이터 서브셋으로 가져오기# 서브셋을 만들때 copy 하기! 데이터 오류 발생 방지df_seoul = df[df['시도명'] == '서울특별시'].copy()print(df_seoul.shape)df_seoul.head() 서울의 배스킨라빈스와 던킨도너츠 데이터 가져오기# 상호명을 소문자로 변경df_seoul["상호명_소문자"] = df_seoul["상호명"].st..
-
[상권 정보 분석] Folium으로 지도 시각화하기데이터 분석 2021. 9. 15. 16:28
Folium 설치하기 주피터 노트북에서 설치하지 않고, cmd에서 따로 설치해야 한다. conda install -c conda-forge folium Quickstart — Folium 0.12.1 documentation Vincent/Vega and Altair/VegaLite Markers folium enables passing any HTML object as a popup, including bokeh__ plots, but there is a built-in support for vincent and altair visualizations to any marker type, with the python-visualization.github.io 지도 불러 오기 내가 살았던 집의 경도..
-
[상권 정보 분석] 기술 통계 분석데이터 분석 2021. 9. 14. 16:39
Describe로 요약하기 데이터의 갯수, 평균, 표준편차, 최솟값, 1사분위수(25%), 2사분위수(50%), 3사분위수(75%), 최댓값 등을 포함한다. # describe 로 기술통계값을 확인. # 25%: 1사분위수, 50%: 2사분위수, 75%: 3사분위수 df.describe() 데이터프레임은 2차 형태이므로, 리스트 형식으로 넣어준다. # 위도, 경도 데이터만 가져온다. df[['위도', '경도']].describe() 단변량 수치형 변수 시각화 # 위도의 distplot # 현재 데이터셋이 서울, 부산 지역이므로 두 개의 정규분포로 나온다. # 막대를 촘촘히 그리고 싶으로면 bins 값을 크게 잡는다. sns.displot(df["위도"]) # 위도의 평균, 중앙값을 표현. # Seabor..
-
[상권 정보 분석] 전처리 과정데이터 분석 2021. 9. 13. 20:29
데이터 전처리 기본 설정 라이브러리 import 및 폰트 설정 import pandas as pd import seaborn as sns import matplotlib.pyplot as plt # 한글폰트를 설정. 설정 안하면 한글이 깨져서 나온다. # Mac plt.rc("font", family="AppleGothic") plt.rc("axes", unicode_minus=False) # 레티나 디스플레이로 폰트가 선명하게 표시. from IPython.display import set_matplotlib_formats set_matplotlib_formats("retina") 데이터 로드 # 파일을 로드한다. df = pd.read_csv("data/상가업소정보_201912_01.csv", sep..
-
[데이터 시각화] 히트맵 및 swarmplot데이터 분석 2021. 9. 12. 22:40
앞서 concat으로 병합한 데이터셋 df를 활용하여 데이터 시각화를 하자. pivot_table 사용하기 # 연도를 인덱스로, 지역명을 컬럼으로 평당분양가격을 피봇테이블로 그리기. # pivot은 연산 없이 데이터 형태만 바꾸는 것 # pivot_table은 연산 가능 t = pd.pivot_table(df, index="연도", columns="지역명", values="평당분양가격").round() t 히트맵으로 구현하기 # 위에서 그린 피봇테이블을 히트맵으로 표현하기. plt.figure(figsize=(15, 7)) sns.heatmap(t, cmap="Blues", annot=True, fmt='.0f') plt.figure(figsize=(15, 7)) sns.heatmap(t.T, cmap=..