Można łatwo wyodrębnić podgraph z wykresu NetworkX, określając listę węzłów, ale nie mogłem znaleźć wydajnego sposobu wykonywania ekstrakcji w podgraphu po krawędzi. Na przykład, aby wyodrębnić podgraf składa się z krawędzi o wadze przekraczającej pewien zdefiniowany przez użytkownika próg.Wydajne wyodrębnianie podgraphu według pewnego atrybutu krawędzi w NetworkX
Obecnie robię to w następujący sposób:
## 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)
Czy istnieje lepszy sposób to zrobić?
Dzięki za życzliwe odpowiedzi.
Świetne, dziękuję za pamięć o oszczędzaniu pamięci! –