in otava/analysis.py [0:0]
def fill_missing(data: List[float]):
"""
Forward-fills None occurrences with nearest previous non-None values.
Initial None values are back-filled with the nearest future non-None value.
"""
prev = None
for i in range(len(data)):
if data[i] is None and prev is not None:
data[i] = prev
prev = data[i]
prev = None
for i in reversed(range(len(data))):
if data[i] is None and prev is not None:
data[i] = prev
prev = data[i]