import numpy as np
df = pd.DataFrame({'listcol': [[1, 2, 3], [4, 5, 6]]})
X = pd.concat([pd.DataFrame(v, index=np.repeat(k, len(v))) for k, v in list(df.
    listcol.to_dict().items())])
Как разбить список внутри ячейки Dataframe на отдельные строки