캐글 연습용 데이터 만지는 중인데 컬럼 곳곳에 NaN이 껴 있어서요. 모델 돌리려니까 에러가 나서 일단 다 0으로 채워서 넘어갔는데, 이렇게 하면 안 된다는 얘기를 들어서 찝찝해졌어요.
제가 한 건 그냥 이거예요.
df = df.fillna(0)
근데 생각해 보니까 예를 들어 나이 컬럼이 비어 있는 걸 0으로 채우면 그 사람이 0살이 돼버리는 거잖아요. 이게 좀 이상하긴 하더라고요. 그래도 어차피 빈 값인데 뭘로 채우든 큰 차이가 있나 싶기도 하고요.
찾아보니까 평균이나 중앙값으로 채운다는 얘기도 있고, 아예 그 행을 지워버린다는 얘기도 있고, 결측 자체를 하나의 정보로 본다는 말도 있던데 언제 뭘 써야 하는지 기준을 모르겠어요. 결측치가 몇 개 없으면 그냥 지워도 되는 건가요? 아니면 비율 보고 판단하는 건지요.
그리고 수치형이랑 범주형이랑 채우는 방법이 또 다른 건가요? 범주형은 0으로 못 채울 텐데 이런 건 어떻게들 처리하시는지 실무 팁 좀 부탁드려요.