📌 dropna() 함수 개념 정리 표
항목설명
📌 무엇인가? | dropna()는 결측값(NaN, None)이 포함된 행 또는 열을 제거하는 함수 |
❓ 왜 써야 하는가? | NaN 값이 많으면 분석 및 모델 학습에 방해가 되기 때문 |
⚙️ 어떻게 동작하는가? | axis, how, subset, inplace 등의 옵션을 사용하여 동작 방식 조절 |
🛠 dropna() 동작 방식 비교
옵션설명예제
기본 사용법 | NaN이 포함된 행 제거 | df.dropna() |
열 제거 | NaN이 포함된 열 제거 | df.dropna(axis=1) |
모든 값이 NaN인 행만 제거 | 일부 NaN이 아닌 값이 있으면 유지 | df.dropna(how='all') |
특정 열 기준으로 NaN 제거 | 해당 열에 NaN이 있는 행만 제거 | df.dropna(subset=['age']) |
원본 변경 (inplace=True) | True로 설정하면 DataFrame 직접 수정 | df.dropna(inplace=True) |
📌 dropna() 핵심 암기법
💡 "NaN 포함 행 삭제 → dropna()"
💡 "NaN 포함 열 삭제 → dropna(axis=1)"
💡 "특정 열 기준 NaN 삭제 → dropna(subset=['열'])"
💡 "원본 수정 → dropna(inplace=True)"
🔥 결측값 처리는 dropna()와 fillna()를 함께 사용하면 더 효과적이야! 🚀
🛠 fillna() 동작 방식 비교
옵션설명예제
기본 사용법 | NaN을 특정 값으로 대체 | df.fillna(0) |
컬럼별 다른 값으로 대체 | 각 열에 대해 다른 값 지정 | df.fillna({'A': 0, 'B': 1}) |
이전 값(ffill)으로 채우기 | 위쪽(Forward) 값으로 NaN 대체 | df.fillna(method='ffill') |
다음 값(bfill)으로 채우기 | 아래쪽(Backward) 값으로 NaN 대체 | df.fillna(method='bfill') |
평균값으로 채우기 | 각 열의 평균값으로 NaN 대체 | df.fillna(df.mean()) |
최대 몇 개의 NaN만 채우기 | limit=n을 지정하여 최대 n개만 채움 | df.fillna(0, limit=2) |
원본 변경 (inplace=True) | True로 설정하면 DataFrame 직접 수정 | df.fillna(0, inplace=True) |
📌 fillna() 핵심 암기법
💡 "NaN을 특정 값으로 채우기 → fillna(값)"
💡 "컬럼별 다르게 채우기 → fillna({'A': x, 'B': y})"
💡 "이전 값으로 채우기 → fillna(method='ffill')"
💡 "다음 값으로 채우기 → fillna(method='bfill')"
💡 "평균값으로 채우기 → fillna(df.mean())"
💡 "원본 수정 → fillna(inplace=True)"
🔥 결측값 처리는 fillna()와 dropna()를 적절히 조합하면 더 효과적이야! 🚀
📌 fillna() 함수 개념 정리 표
항목설명
📌 무엇인가? | fillna()는 결측값(NaN, None)을 특정 값으로 채우는 pandas 함수 |
❓ 왜 써야 하는가? | NaN 값이 많으면 분석 및 모델 학습에 방해가 되므로 보완하기 위해 사용 |
⚙️ 어떻게 동작하는가? | 지정한 값, 평균, 이전 값 등으로 NaN을 채워 넣음 |
📌 dropna() vs fillna() 차이점
함수동작 방식결과사용 목적
dropna() | NaN이 포함된 행 또는 열을 제거 | 데이터 크기 감소 | 불필요한 결측값 제거 |
fillna() | NaN 값을 특정 값으로 대체 | 데이터 크기 유지 | NaN 값을 보완하여 활용 |
📌 NaN vs None 차이점
구분NaN (Not a Number)None
데이터 타입 | float 타입 (float64) | NoneType |
출처 | NumPy, pandas에서 사용 | 기본적인 Python 값 |
연산 가능 여부 | ✅ 수학 연산 가능 (NaN + 5 = NaN) | ❌ 연산 불가능 (None + 5 → TypeError) |
비교 연산 | NaN == NaN → False (자기 자신과 비교 불가능) | None == None → True |
주로 사용되는 곳 | pandas, NumPy 데이터 결측값 처리 | Python 기본 변수, pandas에서도 사용 가능 |
결측값 변환 | df.isna() 또는 df.fillna()로 처리 가능 | 자동으로 NaN으로 변환됨 |
반응형
'ChatGPT 아카이브 > Pandas' 카테고리의 다른 글
concate / 축(axis) 번호 살펴보기 (0) | 2025.03.05 |
---|---|
pandas rename 함수 / astype 함수 / Pandas의 View 와 Copy 반환 (0) | 2025.03.05 |
drop_duplicates() 함수 파헤치기 (0) | 2025.03.04 |
표현식(expression)과 할당문(statement) 둘 다 함수 return 값에 올 수 있을까? + 할당표현식( := ) (0) | 2025.03.04 |
.loc와 .iloc의 차이점/왜 둘은 모두 []를 사용할까?/loc와iloc가 데이터를 가져오는 과정 (0) | 2025.03.03 |