Pandas Series of Lists to Dataframe

Question:

Given a pandas series of lists, where every list contains the same number of lists and
each ‘sublist’ has the same length of values, like the following example:

import pandas as pd

s = pd.Series([
                [[1, 2], [3, 4], [5, 6]], 
                [[7, 8], [9, 10], [11, 12]],
                [[13, 14], [15, 16], [17, 18]],
                ], index=[10,20,30])
s
10          [[1, 2], [3, 4], [5, 6]]
20       [[7, 8], [9, 10], [11, 12]]
30    [[13, 14], [15, 16], [17, 18]]
dtype: object

Is it possible the series to be converted to a pandas DataFrame with the
following structure:

    col1  col2  col3
10     1     3     5
10     2     4     6
20     7     9    11
20     8    10    12
30    13    15    17
30    14    16    18
Asked By: Joseph K

||

Answers:

if pandas version > 1.3.0:

cols = ['col1', 'col2', 'col3']
pd.DataFrame(s.tolist(), index=s.index, columns=cols).explode(cols)

result:

    col1  col2  col3
10     1     3     5
10     2     4     6
20     7     9    11
20     8    10    12
30    13    15    17
30    14    16    18
Answered By: Panda Kim
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.