В вашем случае, если вы заполните пустые ячейки оценочными значениями, результаты вашего анализа будут очень искаженными. Поскольку у вас очень ограниченный размер выборки.
Если у вас есть больше данных (например, больше лет), вы можете попробовать различные методы для заполнения пустых значений в вашем наборе данных (интерполяции, среднее значение, et c). Есть плюсы и минусы для каждого метода. Это зависит от того, что вам нужно делать с этим временным рядом.
Если у вас есть только эти данные, имеет смысл использовать только период, за который у вас есть данные для каждого столбца, но, опять же, так мало строк приведет вас к не столь интересным результатам.
В любом случае, pandas dataframes
предлагает множество библиотек и утилит для решения этой проблемы.
Например, метод dataframe fillna
:
df = # your dataframe
df.fillna(method='ffill')
, который будет распространяться последнее действительное наблюдение переходит к следующему действительному
Или метод интерполяции:
df.interpolate(method ='linear', limit_direction ='forward')
Но нет идеального ответа на ваш вопрос. Вы должны обосновать свои данные и принять решение на основе контекста