Create date slider by date inputs

Hi members,

Because my data is monthly but not continuous data, it’s better to have a date slider based on the input date range.

For example, here’s the date range:

import pandas as pd

date_range1 = [str(d.date()) for d in pd.date_range("2020-01-01", "2020-09-01", freq="MS")]
date_range2 = [str(d.date()) for d in pd.date_range("2021-01-01", "2021-09-01", freq="MS")]
dates = date_range1+date_range2

Is it possible to create the slider based on dates?

Thanks,

Hi @zxdawn

You can use the DiscreteSlider as shown below.

import pandas as pd

import panel as pn

date_range1 = [str(d.date()) for d in pd.date_range("2020-01-01", "2020-09-01", freq="MS")]
date_range2 = [str(d.date()) for d in pd.date_range("2021-01-01", "2021-09-01", freq="MS")]
dates = date_range1+date_range2

def my_selection(date):
    return f"I selected {date}"

selection = pn.widgets.DiscreteSlider(value=dates[0], options=dates, name="Date")
my_selection = pn.bind(my_selection, date=selection)
pn.Column(selection, my_selection).servable()

Thanks, Marc. Quite useful tips!

1 Like

Thanks @zxdawn . I made a little tweet about it. Feel free to share if you like https://twitter.com/MarcSkovMadsen/status/1457276971872833546?s=20.

1 Like