s2.index = s2.index.droplevel(-1)
s2.name = 'datetime'
df = df.drop(['values', 'datetime'], axis=1)
df = pd.concat([df, s1, s2], axis=1).reset_index(drop=True)
Панды: как разделить несколько списков в столбцах на несколько строк?