Вы можете использовать ffill
и bfill
, чтобы создать два столбца со значением до и после, например
df['before'] = df.ColumnB.ffill()
df['after'] = df.ColumnB.bfill()
, а затем получить значение для желаемых дат с помощью loc
print (df.loc[df.Date == pd.to_datetime('2018-11-26'),['before','after']].values[0].tolist())
[80.0, 86.88]
и если у вас есть список дат, вы можете использовать isin
:
list_dates = ['2018-11-26','2018-11-28']
print (df.loc[df.Date.isin(pd.to_datetime(list_dates)),['before','after']].values.tolist())
[[80.0, 86.88], [80.0, 86.88]]