python将数值向量列拆分为多个列

python将数值向量列拆分为多个列,python,pandas,dataframe,Python,Pandas,Dataframe,我在pandas中有一个数据帧,其中有一列是向量: df=pd.DataFrame({'ID':[1,2],'Averages':[1,2,3],[4,5,6]}) 我希望将其拆分为如下元素: df2=pd.DataFrame({'ID':[1,2],'A':[1,4],'B':[2,5],'C':[3,6]}) 我试过了 df['Averages'].astype(str).str.split(“”)但没有运气。任何帮助都将不胜感激。这将有效: df[['A','B','C']] = pd

我在pandas中有一个数据帧,其中有一列是向量:

df=pd.DataFrame({'ID':[1,2],'Averages':[1,2,3],[4,5,6]})

我希望将其拆分为如下元素:

df2=pd.DataFrame({'ID':[1,2],'A':[1,4],'B':[2,5],'C':[3,6]})

我试过了
df['Averages'].astype(str).str.split(“”)
但没有运气。任何帮助都将不胜感激。

这将有效:

df[['A','B','C']] = pd.DataFrame(df.averages.values.tolist(), index= df.index)

这并不能完全解决问题,因为它返回的数据帧不包含“ID”列。@此处的exp1orer:pd.concat([df['ID'],df['Averages'].apply(pd.Series)],axis=1)。重命名(列={0:'a',1:'B',2:'C'})问题的本质是找出如何将基于列表的数据转换为多列,我的代码解决了这一问题。您应该知道如何在pandas中添加列并重命名它们。不是stackexchange上的每个答案都应该是复制/粘贴的。谢谢,我建议您编辑答案,将其包括在内!OP提供了一个所需的输出,因此如果它产生了所需的输出,那么您的答案将更加有力。(请注意,我不是OP,我作为编辑偶然发现了您的答案,因为建议将其删除。)@exp1orer,谢谢,已更新
pd.concat([df['ID'], df['Averages'].apply(pd.Series)], axis = 1).rename(columns = {0: 'A', 1: 'B', 2: 'C'})