dataframeの各セルのlistを分解して新たな変数にするには？


次のような各セルにリストが入ったdataframeがあります。

[code]

    import pandas as pd
    df = pd.DataFrame(
        {'x': [['都営三田線/水道橋駅 歩4分', 'ＪＲ中央線/水道橋駅 歩3分'], ['東京メトロ東西線/飯田橋駅 歩5分', '東京メトロ東西線/九段下駅 歩7分', 'ＪＲ中央線/水道橋駅 歩8分'], ['ＪＲ山手線/神田駅 歩6分']]},
        index=[1, 2, 3])
    
[/code]

このxを分解して、x1, x2, x3のような変数を新たに作成したいのですが、  
ご教示頂けないでしょうか？

[code]

    x1,                          x2,                        x3
    都営三田線/水道橋駅 歩4分,    ＪＲ中央線/水道橋駅 歩3分,  nan
    東京メトロ東西線/飯田橋駅 歩5分,  東京メトロ東西線/九段下駅 歩7分,   ＪＲ中央線/水道橋駅 歩8分
    ＪＲ山手線/神田駅 歩6分,        nan,        nan
    
[/code]




下記では如何でしょうか。

[code]

    splitted = df['x'].apply(pd.Series)
    splitted.columns = ['x1', 'x2', 'x3']
    print(splitted)
    
                      x1                 x2              x3
    1     都営三田線/水道橋駅 歩4分     ＪＲ中央線/水道橋駅 歩3分             NaN
    2  東京メトロ東西線/飯田橋駅 歩5分  東京メトロ東西線/九段下駅 歩7分  ＪＲ中央線/水道橋駅 歩8分
    3      ＪＲ山手線/神田駅 歩6分                NaN             NaN
    
[/code]




下記では如何でしょうか。

[code]

    splitted = df['x'].apply(pd.Series)
    splitted.columns = ['x1', 'x2', 'x3']
    print(splitted)
    
                      x1                 x2              x3
    1     都営三田線/水道橋駅 歩4分     ＪＲ中央線/水道橋駅 歩3分             NaN
    2  東京メトロ東西線/飯田橋駅 歩5分  東京メトロ東西線/九段下駅 歩7分  ＪＲ中央線/水道橋駅 歩8分
    3      ＪＲ山手線/神田駅 歩6分                NaN             NaN
    
[/code]

