У меня разные группы транзакций, и в каждой группе транзакций есть разные даты.Я хочу получить ближайшую дату, которая до данной даты. Однако , если его не существует, просто получите ближайшую дату.Например,
Скажите, что заданная дата для следующих двух примеров: np.datetime(2014,12,16)
Пример 1 :
Даты в группе:: np.datetime(2014,12,17)
, np.datetime(2014,12,15)
и np.datetime(2014,12,14)
Возвращаемое значение должно быть np.datetime(2014,12,15)
с ближайшей даты ДО указанной даты сверху.Мы устанавливаем приоритеты не только для получения даты, которая до указанной даты, но и ближайшей единицы к ней.
Пример 2 :
Даты в группе: np.datetime(2014,12,17)
, np.datetime(2014,12,18)
и np.datetime(2014,12,19)
Возвращаемое значение должно быть np.datetime(2014,12,17)
, поскольку до указанной даты нет ближайших дат, ближайшихдата к вышеуказанной дате будет повернута.
Я нашел функцию, которая выглядит так, как будто она удовлетворяет 2-му примеру, но не первому:
def nearest(items, pivot):
return min(items, key=lambda x: abs(x - pivot))
Любойпомощь будет принята с благодарностью, спасибо!