EDA 4

[python] 브루잉일지 02. 한 잔을 내리기 전: 전처리와 변수 만들기

missing_count = df.isnull().sum()missing_percent = (missing_count / len(df)) * 100missing_summary = pd.DataFrame({ '결측치 개수': missing_count, '결측치 비율(%)': missing_percent})missing_summary = missing_summary[missing_summary['결측치 개수'] > 0].sort_values( '결측치 비율(%)', ascending=False)print(missing_summary) 3개의 데이터셋애 대해 각각 결측치를 확인했다. 모든 컬럼을 처리하지는 않고, 실제로 분석에 쓸 컬럼에 대해서만 의미 있게 채우거나 버리기로 했다. 결측치 ..

☕️ coffee lab 2026.08.02

[python] 탐사일지 05. 항해도를 완성하다: 교차검증, 변수 선택, 결론과 한계

다변량 교차검증가설을 하나씩 따로 검증하면 놓치는 부분이 있어요. 변수들이 서로 얽혀 있을 때는 여러 변수를 동시에 높고 봐야 진짜 그림이 보입니다. 우리가 가설검정에 가장 중요한 변수 두 개를 객실 등급과 성별이라고 했죠? 이 부분을 좀 봐야겠어요. pivot = df.pivot_table(values="survived", index="pclass", columns="sex", aggfunc="mean")print(pivot.round(3))"""sex female malepclass 1 0.968 0.3692 0.921 0.1573 0.500 0.135""" 더보기pivot_pct = ( pivot.mul(100..

🚢 titanic 2026.07.16

[python] 항해일지 05. 더 선명하게 항해도 그리기: seaborn

matplotlib를 어느 정도 익혔다면 이제 seaborn을 배울 차례입니다. seaborn은 matplotlib를 기반으로 하지만 통계적 시각화를 훨씬 적은 코드로 만들 수 있게 해 줍니다. 특히 그룹별 비교, 분포 비교에 강력하죠. 이번 글에서는 타이타닉 데이터를 활용해 seaborn의 주요 그래프를 살펴보고 마지막에는 matplotlib로 같은 그래프를 그릴 때 얼마나 코드가 길어지는지도 비교해 보겠습니다. 라이브러리 불러오기import pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsfrom utils.theme import set_plot_theme, get_palettefrom utils.font import set_kor..

🚢 titanic 2026.06.27

[python] 항해일지 02. 승객 명단 펼쳐보기: pandas

본격적으로 시작하기 전에 왜 `pandas`를 쓰는지부터 이야기를 해보도록 할게요.데이터는 보통 엑셀처럼 행과 열로 이루어진 표 형태로 존재해요. `pandas`는 이런 표 형태의 데이터를 파이썬으로 다루기 위한 도구입니다. `pandas`의 핵심 자료구조는 DataFrame인데 엑셀 시트 하나라고 생각하면 됩니다. 행과 열에 이름이 붙어있고, 각 열마다 데이터 타입이 다를 수 있어요. 타이타닉 데이터로 보자면, `survived`는 0과 1로 이루어져 있지만, `class`를 보면 First, Second, Third로 이루어져 있어요. 그렇다면 `numpy`와는 어떤 게 다를까요? `numpy`는 숫자 계산에 특화된 배열이고, `pandas`는 이름 있는 열, 결측치 처리, 그룹별 통계 같은 실제 ..

🚢 titanic 2026.06.24