Time series datasets are seldom perfect. Polars gives you a whole menu for repairing them, and the right pick depends on what you need.
`fill_null` accepts more than a constant value to fill. `strategy="forward"` carries the last value forward, the natural choice for state that persists until it changes, like a stock ticker. `strategy="backward"` pulls the next known value back, and there is also `"mean"`, `"min"`, `"max"`, `"zero"`, `"one"`, plus a `limit` parameter to cap how many consecutive nulls a fill may bridge.
For values that were moving smoothly while a sensor was offline, for example, `interpolate()` draws a straight line between the surrounding points. Combine it with `.over("sensor_id")` and each sensor is filled using only its own history.