我想生成所有可能的结合条件。假设我有一个数据帧包含我需要的条件。在
Variable Cluster_no sub_group
GDP_M3 1 GDP
HPI_M3_lg2 1 HPI
FDI_C_lg5 1 FDI
FDI_M6 2 FDI
Export_M9 2 Export
GDP_M9 2 GDP
GDP_M12_lg7 3 GDP
Export_M12 3 Export
我发现itertools.combinations
给出了3的所有可能的组合。但是,我想考虑更多关于cluster_no
和{
我已经说过,如果我从cluster 1
开始,它将不会与HPI_M3_lg2
或{cluster 2
或{
在cluster 2
中,有两个可能的变量,它们是FDI_M6
或{sub_group
条件。如果选择FDI_M6
,它将移动到下一个集群,因为同样,每个集群只允许有1个变量。在
现在,我的列表是[GDP_M3, FDI_M6]
。组合的下一个变量是Export_M12
,因为它来自cluster 3
和{
我想设置3个可能的组合(1到3)。有什么建议吗。在
谢谢。在
编辑以添加我的代码。在
^{pr2}$
我不认为用内置的组合方法可以处理这种情况。你必须编写自己的回溯组合算法。我已经尝试过实现一个:
您可以在这里看到输出:https://ideone.com/HwruJ7
我的方法类似于@Ahmad Faiyaz
你得到的输出是
^{pr2}$该方法首先在字典的帮助下构建一个集群集合,然后递归地通过考虑子组的集群来创建最终输出。现在我只需打印它,但你可以很容易地捕捉到它
相关问题 更多 >
编程相关推荐