누락된 주문 확인하기

30 P
QUESTION 10 #298
데이터프레임의 특정 열에서 값이 비어있는(Null) 데이터를 찾아내고자 합니다. 빈칸을 채우세요.
main.py
import pandas as pd
import numpy as np

# 결제 수단이 누락된 주문 데이터
orders = pd.DataFrame({
    '주문번호': [101, 102, 103, 104, 105],
    '메뉴': ['아메리카노', '라떼', '스무디', '콜드브루', '밀크티'],
    '결제수단': ['카드', np.nan, '카드', '현금', np.nan]
})

# 누락된 데이터 행만 추출
missing_orders = orders[orders['결제수단'].()]
print("\n누락된 주문서:")
print(missing_orders)
실행 결과 예시
누락된 주문서:
   주문번호    메뉴 결제수단
1     102    라떼    NaN
4     105   밀크티    NaN
INTERACTIVE SHELL Shift + Enter 로 즉시 실행

isnull()로 결측값 찾기

실제 데이터에는 빈 칸(NaN)이 자주 존재합니다. isnull()은 어떤 데이터가 비어있는지 확인하는 함수입니다.

기본 문법

df["열이름"].isnull()   # 각 행이 비어있으면 True

코드 동작 과정

missing_orders = orders[orders['결제수단'].isnull()]

1단계: orders["결제수단"].isnull() → True/False 판별

주문번호 메뉴 결제수단 isnull() ?
101 아메리카노 카드 False
102 라떼 NaN True
103 스무디 카드 False
104 콜드브루 현금 False
105 밀크티 NaN True

2단계: True인 행만 추출

   주문번호    메뉴 결제수단
1     102    라떼    NaN
4     105   밀크티    NaN

isnull() vs notnull()

함수 의미 True 조건
isnull() 비어있는가? NaN이면 True
notnull() 값이 있는가? 값이 있으면 True
# 결제수단이 비어있는 주문
orders[orders['결제수단'].isnull()]

# 결제수단이 입력된 주문
orders[orders['결제수단'].notnull()]

결측값 개수 확인

# 각 열별 결측값 개수
orders.isnull().sum()
# 주문번호    0
# 메뉴      0
# 결제수단    2   ← 2개 누락

결측값 처리 방법 정리

방법 함수 설명
찾기 isnull() 빈 칸 위치 확인
채우기 fillna(값) 빈 칸을 특정 값으로 채움
삭제 dropna() 빈 칸이 있는 행 삭제

💡 핵심: isnull()은 결측값을 찾는 함수이고, fillna()dropna()는 결측값을 처리하는 함수입니다.