Use stable sort when sorting values in forecaster #2568
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When Prophet prepares a dataframe for fitting or predicting, it runs a sort on the
ds
column.This changes the sort algorithm from the pandas default sort to mergesort, which is a stable sort.
This is important in situations where multiple regressors are present and so the fitted dataframe is not unique by date.
Users may do something like the following:
In
m.predict(df)
, there is a call todf.sort_values('ds')
. As this is not a stable sort, sometimes thex
column above can get switched around, even ifdf
is sorted. A stable sort addresses this.This partially addresses #2322 if you construct the input correctly.