我已经看到了很多关于这个问题的问题,但是我仍然不能把它们放在一起解决这个问题
我有一个像这样的df
idx value name1 %1 name2 %2 name3 %3
0 100 person1 0.3 person2 0.5 person3 0.2
1 100 person4 1.0 None NaN None None
2 100 person1 0.6 person5 0.4 None None
像这样生成:pd.DataFrame(columns= ['value','name1','%1','name2','%2','name3','%3'],data=[[100,'person1',0.3,'person2',0.5,'person3','0.2'],[100,'person4',1], [100,'person1',0.6,'person5',0.4]])
我想将具有多个名称的每一行拆分为各自的行,如下所示:
idx value name
0 30 person1
1 50 person2
2 20 person3
3 100 person4
4 60 person1
5 40 person5
需要为每个唯一的人获取初始值的百分比,并为他们创建新行。例如,人员1第0行-100*0.3(%1个值)
希望这是明确的。非常感谢您的帮助
首先,让我们添加我们需要的信息:
其结果是:
现在,我们只需要创建一个新的数据帧并在其中输入值:
并在最后删除Nan值:
也许有更好的办法。但这就是我想到的
您可以尝试以下方法:
这是一个多阶段解决方案,注释中有注释:
相关问题 更多 >
编程相关推荐