【问题标题】:Remove all nodes that has a particular attribute in networkx删除 networkx 中具有特定属性的所有节点
【发布时间】:2023-02-14 19:53:14
【问题描述】:

我正在尝试删除具有特定属性值的图形中的所有节点。

我看过这个:python networkx remove nodes and edges with some condition

但在那种情况下,学位是一种属性而不是属性。

我的图表有一个名为“Line”的属性,它可以有不同的值,例如:A、B、C。

因此,例如我想删除属性“Line”等于 A 的所有节点

【问题讨论】:

    标签: python graph networkx


    【解决方案1】:

    您可以使用子图视图过滤图中的节点:

    filter_node = lambda node: G.nodes[node]['Line'] == 'A'
    filtered_nodes = list(nx.subgraph_view(G, filter_node=filter_node).nodes)
    

    然后您可以从图中删除这些节点:

    G.remove_nodes_from(e)
    

    【讨论】: