This is one way to use itertools.chainand numpy.repeat:
import pandas as pd, numpy as np
from itertools import chain
df = pd.DataFrame({0: [['x', 'y', 'z'], ['a', 'b', 'c'], ['a', 'b', 'c']],
1: [['a', 'b', 'c'], ['a', 'b', 'c'], ['a', 'b', 'c']],
2: [['a', 'b', 'c'], ['x', 'y', 'z'], ['a', 'b', 'c']]},
index=['Mon', 'Tue', 'Wed'])
res = pd.DataFrame({k: list(chain.from_iterable(df[k])) for k in df},
index=np.repeat(df.index, list(map(len, df[0]))))
print(res)