Shouldn't line 246 in core/_prophet.py be
if len(self.input_df) - self.input_df.y.isnull().sum() < 2:
instead of
if len(self.input_df) - self.input_df.y.isnull().sum() <= 2:
?
That's the impression I get when reading the comment at 245:
If the input data frame contains less than 2 non-Null rows, prediction is not possible