我的最终目标是用d3创建一个Force-Directed graph,它显示在我的应用程序中使用某些特性的用户集群。为此,我需要创建一组具有以下格式的“链接”(取自上述链接):
{"source": "Napoleon", "target": "Myriel", "value": 1}
为了进入这一步,我从如下所示的pandas数据帧开始。如何为每个USER_ID
生成APP_NAME
/FEAT_ID
组合的排列列表?在
预期结果:
基于上述数据帧,我希望user1
和{
user1:
app1-feature1 -> app2-feature2, app2-feature3, app3-feature4, app2-feature5, app2-feature6, app2-feature7, app2-feature8, app2-feature9
app2-feature2 -> app2-feature3, app3-feature4, app2-feature5, app2-feature6, app2-feature7, app2-feature8, app2-feature9
app2-feature3 -> app3-feature4, app2-feature5, app2-feature6, app2-feature7, app2-feature8, app2-feature9
app3-feature4 -> app2-feature5, app2-feature6, app2-feature7, app2-feature8, app2-feature9
app2-feature5 -> app2-feature6, app2-feature7, app2-feature8, app2-feature9
app2-feature6 -> app2-feature7, app2-feature8, app2-feature9
app2-feature7 -> app2-feature8, app2-feature9
app2-feature8 -> app2-feature9
user2:
app3-feature10 -> app2-feature2, app2-feature11, app2-feature12
app2-feature2 -> app2-feature11, app2-feature12
app2-feature11 -> app2-feature12
由此,我希望能够为D3生成预期的输入,对于user2
,这将是这样的。在
{"source": "app3-feature10", "target": "app2-feature2"}
{"source": "app3-feature10", "target": "app2-feature11"}
{"source": "app3-feature10", "target": "app2-feature12"}
{"source": "app2-feature2", "target": "app2-feature11"}
{"source": "app2-feature2", "target": "app2-feature12"}
{"source": "app2-feature11", "target": "app2-feature12"}
如何为数据帧中的每个USER_ID
生成APP_NAME
/FEAT_ID
组合的排列列表?在
我会考虑从数据帧中生成一些元组,然后使用类似于
itertools.permutations
的方法创建所有排列,然后根据需要制作字典:如果置换没有返回所需的行为,您可以尝试其他组合生成器found here。在这个时候,我希望这个策略没有奏效。祝你好运!在
相关问题 更多 >
编程相关推荐