

今、以下のような各セルにリストが入ったDataFrameがあります。

[code]

    import pandas as pd
    df = pd.DataFrame(
        {'x': [['Li', 'C'], ['Li', 'N'], ['Li', 'O']]},
        index=[1, 2, 3])
    
[/code]

このDataFrameを以下のように加工をしたいです。

[code]

    x1,  x2                    
    'Li', 'C'
    'Li', 'N'
    'Li', 'O'
    
[/code]

[code]

    df_split = df.apply(pd.Series)
    df_split = df.apply(lambda x: pd.Series(x['elements']).unstack().reset_index(1), axis=1)
    
[/code]

を試してみたのですが、うまく動きませんでした。


CC BY-SA 4.0
2022-05-24T06:45:39.240
89017
2023-06-05T02:01:15.130
2022-05-24T07:54:35.283
3060
52780
question
python python3 pandas
DataFrameセル内のリストを列方向に展開したい

[code]

    dfx = df['x'].apply(pd.Series).set_axis(['x1', 'x2'], axis=1)
    print(dfx)
    
    #
       x1 x2
    1  Li  C
    2  Li  N
    3  Li  O
    
[/code]


CC BY-SA 4.0
2022-05-24T07:00:55.443
89018
2022-05-24T07:49:55.927
2022-05-24T07:49:55.927
47127
47127
89017
answer