Gaps are the rule, not the exception
Clean, complete datasets are mostly a classroom fiction. Real data has gaps: a sensor that failed to log a reading, a survey respondent who skipped a question, a system that only started recording a field halfway through the year. Before a model can train, you have to decide what to do with every one of those missing values, and there's no universally correct answer.
The common options are filling the gap with a reasonable value, such as the column's average or median, filling it with an explicit placeholder that signals 'this was missing,' or dropping the row entirely. Each choice has consequences. Filling with an average is easy but can quietly flatten real variation, especially if values are missing for a systematic reason rather than at random. Dropping rows is simple but can shrink your dataset and bias it if the missingness itself correlates with the outcome you're trying to predict.
