熊猫数据框列拆分

时间:2020-07-28 18:56:47

标签: python pandas dataframe

我有一个包含3列的pandas数据框。

这是它的样子:

User History New
101  [X,Y,Z] [A-0,B-1] 
102  [Q,M,N] [A-1,B-0]   

我想修改我的数据框以这种方式表示:

User History New 0or1
101  [X,Y,Z] A   0
101  [X,Y,Z] B   1
102  [Q,M,N] A   1
102  [Q,M,N] B   0

我该怎么办?

基本上,我这样做的原因是因为我正在尝试创建一个模型,该模型根据历史记录来预测new中每个元素的0或1。 因此,我认为以这种方式拆分它们对于根据三列训练模型是有意义的。

尽管我一直在寻找如上所述的分割数据框的方法,但是如果有任何其他有效的方法可以使用所提供的数据(第一个表)来创建一个模型来预测每个元素的1或0,我愿意提出建议在相应历史记录的“新”数组中。

谢谢。

1 个答案:

答案 0 :(得分:1)

import pandas as pd 
df1 = df.explode('New')
pd.concat([df1,df1.New.str.split('-', expand = True)],axis=1)
   User    History  New  0  1
0   101  [X, Y, Z]  A-0  A  0
0   101  [X, Y, Z]  B-1  B  1
1   102  [Q, M, N]  A-1  A  1
1   102  [Q, M, N]  B-0  B  0