繁体   English   中英

Pandas dataframe 分列

[英]Pandas dataframe column split

我有一个包含 3 列的 pandas dataframe。

这是它的样子:

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

我想修改我的 dataframe 以这种方式表示:

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

我该怎么做?

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

尽管我正在寻找按照描述拆分 dataframe 的方法,但如果有任何其他有效的方法我可以使用提供的数据(第一个表)创建 model 来预测数组中每个元素的 1 或 0,我愿意接受建议新的'为各自的历史。

提前致谢。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM