내 첫 데이터 분석 프로젝트
Source: Dev.to
오늘 저는 의료 데이터셋을 활용한 첫 데이터 분석 프로젝트를 직접 진행했습니다.
먼저 데이터셋을 입수한 뒤 다음과 같은 과정을 거쳤습니다.
데이터를 이해했습니다. 의료 데이터라서 환자 이름, 환자 수, 질병, 복용 약물, 혈액형 등 다양한 정보가 포함되어 있었습니다.
데이터를 Power Query에 업로드해 정제했습니다.
- 성별 컬럼에
male,female,m세 가지 값이 있었는데,m을male로 바꾸었습니다.- 혈액형 컬럼에
O-와O‑ve같이 일관되지 않은 표기가 있었으므로O‑ve를O-로, 다른 혈액형도 동일하게 정리했습니다.- 질병명은 대소문자가 뒤섞여 있었으니 각 단어의 첫 글자를 대문자로 바꿔 일관성을 맞췄습니다.
- 청구 금액에
6452O처럼 알파벳O가 들어간 오류가 있어64520으로 수정했습니다.- 입원 유형에
emergency와emer두 가지 표기가 있었으니emer를emergency로 통일했습니다.- 연령 구간(조건부 열)을 추가했습니다. 조건은 : 30세 미만 →
young, 60세 미만 →middle, 그 외 →senior.
이렇게 데이터가 정리·준비되었습니다.피벗 테이블을 활용해 분석을 진행했고, 주요 결과는 다음과 같습니다.
- 입원 유형 분석
- 선택적(elective), 응급(emergency), 긴급(urgent) 입원 환자 수를 비교했습니다. 응급 입원 환자가 가장 많았으며, 세 경우 모두 평균 청구 금액을 살펴보니 응급 입원 환자의 평균 청구 금액이 가장 높았습니다.
- 연령 구간 분석
- 연령 구간별 환자 수를 확인한 결과, 중년(
middle) 환자가 가장 많이 입원했습니다. 하지만 연령 구간별 평균 청구 금액을 보면, 노년(senior) 환자의 평균 청구 금액이 가장 높아 노인 치료 비용이 상대적으로 높다는 것을 알 수 있었습니다. (엑셀 시트에서 필터로 확인 가능)- 보험 제공자 분석
- Aetna, Blue Cross, Cigna, Medicare, United Healthcare 등 5개 보험사의 가입자 수를 조사했습니다. 가장 많은 환자가 Medicare에 가입했으며, Cigna 가입 환자의 평균 청구 금액이 가장 높았습니다. 또한 보험별로 질병 및 연령 구간에 따라 필터링했습니다.
- 약물 분석
- 5가지 약물을 복용하는 환자 수를 살펴보니 Penicillin을 복용하는 환자가 가장 많았습니다. 하지만 Lipitor를 복용한 환자의 평균 청구 금액이 가장 높았습니다. 질병별 필터링 결과는 엑셀 시트에서 확인할 수 있습니다.
- 혈액형 분석
- 혈액형별 환자 수를 분석한 결과, AB‑ negative(AB‑) 혈액형 환자가 가장 많았습니다. 혈액형별로 질병에 따라 필터링도 수행했습니다.
- 성별 분석
- 남성과 여성 환자 수를 비교했을 때, 여성 환자가 병원에 입원한 비율이 더 높았습니다. 특정 질병별 남·녀 입원 환자 수는 질병 필터로, 연령대별 남·녀 비율은 연령 필터로 확인했습니다.
- 검사 결과 분석
- 치료 후 검사 결과를 기준으로 환자 수를 살펴보니 대부분의 환자가 ‘비정상(abnormal)’ 결과를 보였습니다. 약물별로 필터링해 특정 질병 환자의 치료 후 상태도 확인했습니다.
이렇게 첫 번째 엑셀 프로젝트를 마무리했습니다.