Si può facilmente estrarre un sottografo da un grafico NetworkX specificando un elenco di nodi, ma non sono riuscito a trovare un modo efficiente per eseguire l'estrazione del sottografo per fronte. Ad esempio, per estrarre il sottografo è costituito da spigoli con pesi che superano alcune soglie definite dall'utente.Estrazione efficiente di un sottografo secondo alcuni attributi del bordo in NetworkX
Attualmente lo sto facendo nel modo seguente:
## extracts all edges satisfy the weight threshold (my_network is directed):
eligible_edges = [(from_node,to_node,edge_attributes) for from_node,to_node,edge_attributes in my_network.edges(data=True) if edge_attributes['weight'] > threshold]
new_network = NetworkX.DiGraph()
new_network.add_edges_from(eligible_edges)
C'è un modo migliore per fare questo?
Grazie per le vostre risposte gentili.
Grande, grazie per il suggerimento di risparmio di memoria! –