How to display dynamic data frame based on multi select

I have a data in csv as show below

Batch,Job,Date,RunTime
Startofday,Job1,2021-10-01,20
Startofday,Job1,2021-10-02,22
Startofday,Job1,2021-10-03,19
Startofday,Job2,2021-10-01,20
Startofday,Job2,2021-10-02,30
Startofday,Job3,2021-10-01,20
Startofday,Job3,2021-10-02,50
Startofday,Job4,2021-10-01,60
Startofday,Job4,2021-10-02,20

Multiselect option enabled for column Date, based on the selection I need to display multiple data frame grouped by date & chart to the display.

import streamlit as st
import pandas as pd


st.date_input("Input Date")

df = pd.read_csv('JobTimes.csv')
unique_jobs = df['Date'].unique().tolist()

job_list = st.multiselect("Date",unique_jobs,default=unique_jobs)

mask = (df['Date'].isin(job_list))

selected_df = df[mask]

selected_unique_jobs = selected_df['Date'].unique().tolist()
st.title('JobGrouping')
st.write('Total selected columns : ',len(selected_unique_jobs))

cols = st.columns(len(selected_unique_jobs))
new = 0
for job in selected_unique_jobs:
	mask1 = (df['Date'] == job)
	cols[new].subheader('Selected date ::' + job)
	cols[new].dataframe(df[mask1])
	new += 1

Please help & provide light on the approach.