IIU C
# sample data
df = pd.DataFrame(pd.date_range('2020-01-01', '2020-01-14', freq='5T'), columns=['date'])
# list comprehension to spit groups into separate frames
dfs = [g for _,g in df.groupby(df['date'].dt.date)]
или вы можете использовать диктовку, если хотите, чтобы ключом была дата
dfs = {idx:df for idx,df in df.groupby(df['date'].dt.date)}
# below is how you call each frame by the date
dfs[datetime.date(2020, 1, 1)]
новый пример с несколькими столбцами
df = pd.DataFrame(np.transpose([pd.date_range('2020-01-01', '2020-01-14', freq='5T'),
np.random.randint(1,10,3745)]), columns=['date', 'col'])
dfs = [g for _,g in df.groupby(df['date'].dt.date)]
print(dfs[0])
date col
0 2020-01-01 00:00:00 3
1 2020-01-01 00:05:00 3
2 2020-01-01 00:10:00 6
3 2020-01-01 00:15:00 6
4 2020-01-01 00:20:00 3