根据数据框(熊猫)中存在的列数合并并创建多个列

时间:2020-11-05 11:06:23

标签: python pandas numpy automation

我有一列用逗号分隔的数字,现在值应该分成新的列。

 Site       UserId
   ABC           '456,567,67,96'
   DEF           '67,987'
 

新的数据框应如下所示:

Site     UserID              UserId1  UserId2  UserId3  UserId4
ABC     '456,567,67,96'      456       567      67        96
DEF     '67,987'             67        987
POC     '4321,96,912         4321      87       912  

每列旁边还有一个空列,以映射带有名称和电话号码的号码。 用户

 UserId UserName         PhoneNo 
  4321   EB_Meter         9980688666
    987    EB_Meter987    9255488721 
    912    DG_Meter912    8897634219
    567    Ups_Meter567   7263193155 
    456    Ups_Meter456   8987222112 
    96     DG_Meter96     
    67     DGB_Meter

所以最终的DataFrame是:

  Values              Value1  Name1            Phone1         Value2   Name2        Phone2       Value3  Name3        Phone3    Value4 Name4  Phone 4
 '456,567,67,96'      456     Ups_Meter456    8987222112      567      Ups_Meter567  7263193155     67      DGB_Meter               96   DG_Meter96
 '67,987'             67      DGB_Meter                        987      EB_Meter987   9255488721
 '4321,96,912         4321    EB_Meter          9980688666    96       DG_Meter96                  912    DG_Meter912  8897634219

2 个答案:

答案 0 :(得分:2)

在每个UserId中添加了多列,因此在melt中使用merge并使用DataFrame.pivot进行左连接,Understanding the auipc+jalr sequence used for function calls创建了重塑: / p>

map

答案 1 :(得分:0)

您可以使用:

<Cascade>
相关问题