Преобразуйте index
в серию, чтобы он мог поддерживать векторизованные операции datetime
и проверьте, какие годы не являются 2019
, используя Series.ne
# df.index = pd.to_datetime(df.index)
df[df.index.to_series().dt.year.ne(2019)]
HEAT/HOTWATER
2015-12-31 169457.0
2016-12-31 155578.0
2017-12-31 152009.0
2018-12-31 153277.0
Или просто df[df.index.year != 2019]
, поскольку индекс уже равен DatetimeIndex
, на что указывает @piRSquared в комментариях