У меня есть графики с датой вступления в силу, датой начала и значением. Дата вступления в силу - это дата вступления в силу расписания, а дата начала - это дата, с которой следует использовать значение. Итак, это как две эффективные даты. Я создал фрейм данных df с мультииндексом на дату вступления в силу и дату начала.
data = [
{'EffectiveDate': '2018-07-15', 'StartDate': '2018-07-15', 'Value': 1.5},
{'EffectiveDate': '2018-07-15', 'StartDate': '2018-09-10', 'Value': 2.6},
{'EffectiveDate': '2018-08-15', 'StartDate': '2018-08-15', 'Value': 1.7},
{'EffectiveDate': '2018-08-15', 'StartDate': '2018-10-15', 'Value': 3.8}
]
df = pd.DataFrame(data)
df['EffectiveDate'] = df['EffectiveDate'].astype('datetime64[ns]')
df['StartDate'] = df['StartDate'].astype('datetime64[ns]')
df.set_index(['EffectiveDate','StartDate'], inplace=True)
df.sort_index(inplace=True)
Итак, кадр данных выглядит следующим образом.
Value
EffectiveDate StartDate
2018-07-15 2018-07-15 1.5
2018-09-10 2.6
2018-08-15 2018-08-15 1.7
2018-10-15 3.8
У меня есть второй фрейм данных date_df с индексом даты и времени.
dates = pd.date_range(start=pd.datetime(2018,7,13).date(), periods=250).tolist()
dates_df = pd.DataFrame(index=dates,columns=["A"])
Для всех дат в date_df я пытаюсь получить значение из df . Таким образом, первый шаг - выяснить, какой график эффективен, а затем получить «эффективную» дату начала.
Я попробовал следующий код.
df.asof(dates_df.index).Value
Я получаю следующую ошибку.
Exception has occurred: TypeError
'<' not supported between instances of 'tuple' and 'int'
Любая помощь очень ценится.