Fixing missing values
Missing values are the most common problem in any client file, and Step 2 of the Dotwave pipeline — Clean the data — is built to resolve them quickly without letting you make a careless choice. This article covers how Dotwave finds nulls, how to decide what to do based on how much of a column is missing, what each fill option actually does, and how to apply your decisions across the whole dataset or column by column.
Finding nulls
When you open Step 2, the missing-values table lists every column that contains at least one null. For each one it shows four things: the column name, the null count (how many rows are missing a value), the null % (that count as a proportion of all rows), and a suggested action that Dotwave has chosen based on the column's type and how much of it is missing. Columns that are complete do not appear here at all, so the table is already a focused worklist — everything on it needs a decision, and nothing off it does.
The suggested action is a recommendation, not a lock. Dotwave reads the column profile and proposes the fix that is safest for that column, but you can override any suggestion before anything runs. Nothing in this table is applied until you confirm it.
Suggested actions by null %
The single most useful signal for deciding what to do with a column is how much of it is missing. Dotwave's suggestions follow a simple, defensible policy based on the null percentage:
- More than 50% missing — consider dropping the column entirely. When most of a column is absent, any value you fill in is mostly invention, and the column rarely supports trustworthy analysis. Dropping it is usually more honest than reconstructing it.
- 10% to 50% missing — fill the gaps or drop the affected rows. This is the judgment zone: the column has enough real data to be worth keeping, but enough missing that your choice matters. Fill when the column is important and the fill is reasonable; drop rows when completeness matters more than sample size.
- Less than 10% missing — fill with the mean, mode, or a custom value. With only a small fraction missing, a sensible fill barely moves the column's overall shape, so filling is almost always preferable to losing rows.
Fill options
When you choose to fill a column rather than drop it, Dotwave offers several strategies. Each suits a different kind of data:
- Mean — replaces nulls with the column's average. Use it for numeric columns that are roughly normally distributed. Avoid it on skewed columns, where a few extreme values drag the mean away from anything typical.
- Median — replaces nulls with the middle value. This is the right choice for skewed numeric data, and it is what the AI recommends automatically because it resists the pull of outliers.
- Mode — replaces nulls with the most frequent value. This is the fill for categorical columns, where a mean or median is meaningless.
- Custom value — replaces nulls with a fixed value you specify, such as
Unknownfor a category or0where a blank genuinely means none. - Drop rows — removes the rows where this column is null, keeping only complete records. Best when a missing value here makes the whole row unusable.
- Drop column — removes the column outright. Reserve it for columns so sparse that they carry no reliable information.
When in doubt, use median for numeric columns — it's less affected by extreme values than the mean.
Apply all versus per-column
Once you have reviewed the table you can act on it two ways. Apply all runs every suggested action in one pass, resolving the whole table at once — the fastest route when Dotwave's recommendations match your judgment. When you want more control, each row carries a per-column dropdown that lets you override the suggestion for that column before you commit. Change a mean to a median here, switch a fill to a drop there, and leave the rest on their suggested defaults. The two approaches combine: adjust the handful of columns where you disagree with the suggestion, then apply the rest as recommended. Whichever path you take, the change updates the null counts immediately so you can confirm every column reads zero before moving on.
Fixing missing values never alters your original upload. Dotwave records each fill or drop as a step in the cleaning recipe and applies it on top of the source data, so you can revisit or reverse any decision later.
Dotwave