🏥 의료기관 데이터분석 실습 정리

2025. 6. 9. 23:00Python(AI)

소상공인시장진흥공단의 의료기관 데이터셋을 활용해
결측치 시각화, 컬럼 전처리, 시도별 분포 분석,
업종 분류 시각화, 위경도 시각화 등을 실습합니다.


🧩 1. 사용된 주요 모듈 설명

모듈설명
pandas 데이터프레임 구조로 데이터를 불러오고 처리하는 Python 라이브러리
numpy 수치 연산을 위한 라이브러리
matplotlib.pyplot 시각화 라이브러리 (꺾은선, 막대, 파이 차트 등)
seaborn matplotlib 기반의 고급 시각화 라이브러리
missingno 결측치 시각화를 위한 전문 라이브러리
 

📌 2. 사용된 함수 및 개념 요약

✅ pandas 관련

  • pd.read_csv(): CSV 파일 불러오기
  • .head(), .info(), .shape: 데이터 구조 확인
  • .isnull().sum(): 결측치 확인
  • .drop(): 특정 컬럼 또는 행 제거
  • .value_counts(): 특정 값의 빈도 수
  • .groupby(): 그룹 단위 집계

✅ 시각화 관련

  • plt.figure(figsize=()): 시각화 캔버스 크기 지정
  • plt.bar(), .pie(): 막대 및 파이 차트
  • sns.heatmap(): 결측치 히트맵
  • msno.matrix(), msno.bar(): 결측치 시각화 도구
  • sns.scatterplot(): 산점도 그리기 (위도/경도 분석)

✅ 기타 분석 기법

  • str.contains('문자열'): 컬럼명 필터링에 사용되는 문자열 포함 여부 판별
  • .unique(): 컬럼 내 유일값 확인
  • .value_counts(normalize=True): 전체 대비 비율 계산 (백분율)

📊 3. 분석 주제별 요약

① 결측치 분석 및 컬럼 제거

  • missingno와 seaborn을 이용해 결측치 시각화
  • 결측치가 많은 컬럼 9개 추출 및 제거

② ‘번호’, ‘코드’ 포함 컬럼 제거

  • 컬럼명에 특정 단어 포함 여부 필터링
  • drop()으로 일괄 제거

③ 시도별 분포 분석

  • 수도권(서울, 경기, 인천) vs 지방권 분리
  • bar chart, pie chart로 분포 시각화

④ 업종 분류별 분석

  • 상권업종중분류명 기준으로 의료기관 업종 파악
  • 파이 차트 및 막대그래프로 업종 점유율 확인

⑤ 위경도 기반 위치 시각화

  • sns.scatterplot()으로 지도 형태 분석
  • 시도별 및 업종별 분류 색상 구분

🗺️ 4. 시도별 분포 시각화

수도권 분포

capital['시도명'].value_counts().plot.pie(autopct='%2.f%%')

 

 

capital pie chart

 


지방권 분포

 
local['시도명'].value_counts(ascending=False).plot.pie(autopct='%2.f%%')

 

local pie chart

 


📍 4. 위경도 기반 의료기관 위치 시각화

(1) 지방권 의료기관 분포 – 시도별 색상 표시

sns.scatterplot(data=local, x='경도', y='위도', hue='시도명')

 

local scatterplot

 

 


(2) 수도권 의료기관 분포 – 업종별 색상 표시

sns.scatterplot(data=capital, x='경도', y='위도', hue='상권업종중분류명')