Я пытаюсь удалить все «старые» значения из pandas TimeSeries, например. все значения, превышающие 1 день (относительно новейшего значения).Обрезка TimeSeries по timedelta
наивности, я пытался что-то вроде этого:
from datetime import timedelta
def trim(series):
return series[series.index.max() - series.index < timedelta(days=1)]
Выдает ошибку:
TypeError: ufunc 'subtract' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule 'safe'
Очевидно, что проблема с этим выражением: series.index.max() - series.index
Я тогда нашел это работает:
def trim(series):
return series[series.index > series.index.max() - timedelta(days=1)]
Может кто-нибудь объяснить, почему последний работает, а первый вызывает ошибку?
EDIT: Я использую панд версии 0.12.0
пожалуйста показывают серии; для этого требуется 0.12 (и, возможно, 0,13) для поддержки временной дельта – Jeff
@ shx2>.
U2EF1