반응형
🔍 코드 분석: NaN 값 포함 데이터 개수 확인
nan_age = titanic['Age'].value_counts(dropna=False)
nan_age
✅ 1. 코드 설명
- titanic['Age']: 타이타닉 데이터셋에서 'Age' (나이) 열을 선택합니다.
- .value_counts(dropna=False):
- 각 연령대의 등장 횟수를 계산합니다.
- dropna=False 옵션을 설정하면 NaN(결측값, 누락된 값)도 함께 계산됩니다.
✅ 2. value_counts(dropna=False) 동작 방식
import pandas as pd
import numpy as np
# 예제 데이터프레임 생성
data = {'Age': [22, 30, 25, np.nan, 22, 25, np.nan, 30, 22]}
df = pd.DataFrame(data)
# NaN 포함 값 개수 세기
age_counts = df['Age'].value_counts(dropna=False)
print(age_counts)
🎯 출력 결과:
22.0 3
30.0 2
25.0 2
NaN 2
Name: Age, dtype: int64
- 22 세는 3번 등장
- 30 세는 2번 등장
- 25 세는 2번 등장
- NaN (결측값)는 2번 등장
✅ 3. 결측치 개수 확인하는 방법
위 코드는 결측값(NaN)을 포함하여 개수를 세는 방식이지만, NaN 개수만 따로 확인하는 방법도 있습니다.
🔹 방법 1: isna().sum() 사용
print("NaN 개수:", df['Age'].isna().sum())
🎯 출력 결과:
NaN 개수: 2
🔹 방법 2: isnull().sum() 사용
print("NaN 개수:", df['Age'].isnull().sum())
- isna()와 isnull()은 동일한 기능을 합니다.
✅ 4. NaN 값을 처리하는 방법
🔹 NaN 값을 특정 값으로 채우기 (fillna)
df['Age'].fillna(df['Age'].median(), inplace=True) # 중앙값으로 채우기
🔹 NaN 값이 포함된 행 삭제 (dropna)
df.dropna(subset=['Age'], inplace=True)
🎯 결론
- .value_counts(dropna=False): 각 값의 개수를 세면서 NaN도 포함
- NaN 개수 확인: isna().sum() 또는 isnull().sum()
- NaN 처리 방법: fillna()로 채우거나 dropna()로 삭제 가능
'십대를 위한 코딩 > 십대를 위한 파이썬' 카테고리의 다른 글
Jupyter Notebook과 JupyterLab (1) | 2025.03.02 |
---|---|
Windows에서 특정 폴더에서 Jupyter Notebook을 실행하는 방법 (0) | 2025.03.01 |
pandas의 Series (0) | 2025.02.25 |
행렬(Matrix)이란? (2) | 2025.02.24 |
벡터의 크기와 방향이란? (0) | 2025.02.23 |