Fix: Improve TimeSeries.__getitem__ frequency inference #2152
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.
Fixes #2089 .
Summary
Currently when indexing a
TimeSeries
, the frequency of the newTimeSeries
is inferred from dates of the newTimeSeries
.However, we often have information to do a more correct inference, in particular in the following cases:
__getitem__
argument is apd.DatetimeIndex
with a set.freq
attributeThis PR contains the following improvements to frequency inference in the
TimeSeries.__getitem__
method:pd.DatetimeIndex
with a set.freq
attribute is used as__getitem__
argument, we use this attribute as the newTimeSeries
frequencyslice
withoutstep
parameter is used as__getitem__
argument, the originalTimeSeries
frequency is usedslice
withstep
parameter is used as__getitem__
argument, the new frequency is derived by multiplyingstep
with the originalTimeSeries
frequencyThis means that inferring the frequency from the dates of the new
TimeSeries
will only be used either when apd.DatetimeIndex
without.freq
attribute is used as__getitem__
argument or when indexing by a singleint
orpd.Timestamp
value.RangeIndexed
TimeSeries
are not affected by this PR.Other Information