从熊猫列中的列表创建多个列

时间:2019-08-18 10:20:53

标签: python pandas

我有一个数据框,我想从其中一列的列表中创建5列

示例:

df :

ID             Data
1               ['A1','A2','A3','A4','A5']
2               ['A2','A3','A4','A5']

请注意,这里很少有少于5列的列表,对于那些列,请在该位置插入NAN。

Output df:
ID     Col1     Col2    Col3    Col4    Col5     Data 
1      A1        A2      A3      A4      A5      ['A1','A2','A3','A4','A5']
2      A2        A3      A4      A5      Nan     ['A2','A3','A4','A5']

1 个答案:

答案 0 :(得分:1)

df = pd.DataFrame({
    'ID': [1, 2],
    'Data': [['A1','A2','A3','A4','A5'], ['A2','A3','A4','A5']]
})

df.join(df['Data'].apply(pd.Series))

输出:

    ID  Data                            0   1   2   3   4
0   1   ['A1', 'A2', 'A3', 'A4', 'A5']  A1  A2  A3  A4  A5
1   2   ['A2', 'A3', 'A4', 'A5']        A2  A3  A4  A5  NaN