Convert pandas Series to DataFrame

I have a Pandas series sf:

    email
    email1@email.com    [1.0, 0.0, 0.0]
    email2@email.com    [2.0, 0.0, 0.0]
    email3@email.com    [1.0, 0.0, 0.0]
    email4@email.com    [4.0, 0.0, 0.0]
    email5@email.com    [1.0, 0.0, 3.0]
    email6@email.com    [1.0, 5.0, 0.0]

And I would like to transform it to the following DataFrame:

    index | email             | list
    _____________________________________________
    0     | email1@email.com  | [1.0, 0.0, 0.0]
    1     | email2@email.com  | [2.0, 0.0, 0.0]
    2     | email3@email.com  | [1.0, 0.0, 0.0]
    3     | email4@email.com  | [4.0, 0.0, 0.0]
    4     | email5@email.com  | [1.0, 0.0, 3.0]
    5     | email6@email.com  | [1.0, 5.0, 0.0]

I found a way to do it, but I doubt it's the more efficient one:

    df1 = pd.DataFrame(data=sf.index, columns=['email'])
    df2 = pd.DataFrame(data=sf.values, columns=['list'])
    df = pd.merge(df1, df2, left_index=True, right_index=True)

Rather than create 2 temporary dfs you can just pass these as params within a dict using the DataFrame constructor:

    pd.DataFrame({'email':sf.index, 'list':sf.values})

There are lots of ways to construct a df, see the docs

From: stackoverflow.com/q/26097916