- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
假设我在 NetworkX 中制作有向图:
import networkx as nx
G = nx.DiGraph()
n = ["A","B","C","D","E","F","H","I","J","K","L","X","Y","Z"]
e = [("A","Z"),("Z","B"),("B","Y"),("Y","C"),("C","G"),("G","H"),("G","I"),("I","J"),("K","J"),("J","L"),("F","E"),("E","D"),("D","X"),("X","C")]
G.add_nodes_from(n)
G.add_edges_from(e)
我如何删除所有入度和出度都等于 1 的节点,以便我的图看起来像这样?:
import networkx as nx
G = nx.DiGraph()
n = ["A","C","F","G","H","J","K","L"]
e = [("A","C"),("C","G"),("G","H"),("G","J"),("K","J"),("J","L")
G.add_nodes_from(n)
G.add_edges_from(e)
想法是移除“流通”节点并保留连接性。
最佳答案
尽管我看不到最终结果中从 ("A", "C") 和 ("G", "J") 获得边缘的位置,但以下代码可以满足您的需求。
import networkx as nx
def remove_edges(g, in_degree=1, out_degree=1):
g2=g.copy()
d_in=g2.in_degree(g2)
d_out=g2.out_degree(g2)
print(d_in)
print(d_out)
for n in g2.nodes():
if d_in[n]==in_degree and d_out[n] == out_degree:
g2.remove_node(n)
return g2
G_trimmed = remove_edges(G)
G_trimmed.edges()
#outputs [('C', 'G'), ('G', 'H'), ('K', 'J'), ('J', 'L')]
G_trimmed.nodes()
#outputs ['A', 'C', 'G', 'F', 'H', 'K', 'J', 'L']
关于python - 删除入度和出度都等于 1 的 networkx DiGraph 中的所有节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17735252/
在 Julia 中,我可以使用编写得很好的 Graphs.jl 库轻松创建图形: julia> using Graphs julia> g = SimpleDiGraph(2) {2, 0} dire
我想按节点获取一个子图(红色区域): 子图由从输入节点可到达的所有节点组成。 like G.subgraph(3) returns a new DiGraph from the red area. 例
我有一个带子图的有向图,其中节点的顺序很重要。 例如我的图有两个子图,都是线性的1-->2-->3 & 9-->8-->7-->6 注意:节点名称将是随机且唯一的,图中没有循环 NG = nx.DiG
我正在编写一个类,该类继承自 python 中开源 networkx 包的 DiGraph.py。 在我的类中的某些方法中,我需要搜索具有特定度数(有向图的出度数或入度数)的节点并返回它们。 此类将与
我的 csv 文件中有类似于以下内容的数据: a,b,50 b,c,60 b,e,25 e,f,20 z,n,10 x,m,25 v,p,15 我正在尝试使用 NetworkX 和 Matplotli
我正在使用 NetworkX 实现有向图。源是红色节点。我需要确定从红色节点开始的第一个节点,它有两个邻居(在“流向”)。如果我遍历所有节点——它看起来像是随机的。如果有人可以提供帮助,那就太好了!
有没有一种快速方法可以将networkx MultiDiGraph对象转换为DiGraph?我正在创建一个 scale_free_graph使用此代码: import networkx as nx G
上下文:我正在尝试运行另一位研究人员的代码 - 它描述了湾区道路网络的交通模型,该模型容易受到地震灾害的影响。我是 Python 的新手,因此非常感谢您帮助我调试以下错误。 问题:当我尝试按照 REA
我正在尝试对杜威十进制分类法进行一些图形分析,以便我可以在两本书之间划清界限。 DDC有几个关系:“hierarchy”,“see-also”,“class-elsewhere”,这里我用不同的颜色来
我有一些关系数据想要加载到 NetworkX 中,并最终将其转换为加权图。 本质上,关系边是有向和加权的,我想在转换图形时保留权重属性。使用以下代码,我能够将关系边从字典加载到 MultiDiGrap
我有一个 networkx 有向图。 >> G = nx.DiGraph() >> G.add_edges_from(product([0],[1,2])) # product is itertool
假设我在 NetworkX 中制作有向图: import networkx as nx G = nx.DiGraph() n = ["A","B","C","D","E","F","H","I","J
我有兴趣使用 Networkx Python包执行network analysis在 convolutional neural networks .为了实现这一点,我想提取 edge和 weight信
问题 如何将 graphviz.dot.Digraph 转换为 networkx.Graph(或其任何子类)? 动机 LightGBM 是基于树的算法的实现,有一个返回 graphviz.dot.Di
我是一名优秀的程序员,十分优秀!