0

我在 spyder 中完成了以下代码:

df = nx.from_pandas_adjacency(pd.read_excel(r"path/to/file.xlsx", sheet_name="Sheet4",index_col=0,usecols = "A:BR"))
df1=pd.DataFrame(list(nx.enumerate_all_cliques(nx.Graph(df))))

我有 69 个对象,nx.enumerate_all_cliques可以从 excel 文件中找到所有 47000 种可能的兼容组合。我在此列表中有某些必须在一起的对象,我想忽略所有不包含该可能组合中某处所有对象的组合。我可以列出必须放在一起的项目组,因为只有少数。

4

1 回答 1

0

您可以使用集合来确定您所需的所有节点是否都在给定的集团内。这是一个基于随机图的示例。

# Create a random graph.
graph = nx.erdos_renyi_graph(100, .2, seed=0)
# Define the nodes that must be within the clique.
required = {23, 33}
# Iterate over all cliques and only keep the clique if it is a 
# subset of the required nodes.
cliques = [clique for clique in nx.enumerate_all_cliques(graph)
           if required.issubset(clique)]
于 2021-04-09T09:22:52.777 回答