gpt4 book ai didi

python - 如何使用 networkx 反转有向图中的箭头?

转载 作者:太空宇宙 更新时间:2023-11-04 04:09:07 51 4
gpt4 key购买 nike

我正在尝试反转有向字母的箭头,使第二列成为父列。我正在尝试使用 networkx 的 nx.Digraph.reverse() 方法,但它给我一个 TypeError 错误:reverse() missing 1 required positional argument: 'self'。当第二列也有一个 To 值的属性并且字典不能包含相同的键值时,我如何才能使第二列成为父节点,所以我不能简单地交换字典的键。

这是我的代码:

G=nx.from_pandas_edgelist(train, 'To', 'From',create_using=nx.DiGraph.reverse())

我的数据框是:

To    |    From   |  Category
A | A | 0
B | A | 0
C | A | 0
D | F | 1
E | F | 1

类别用于“收件人”列。但是当我尝试使用有向图时,它显示“To”值收敛到“From”值。我想让它偏离“From”值。

最佳答案

nx.DiGraph.reverse()期待图形的实例。而是将 create_using 设置为 nx.DiGraph() 以从数据帧的边缘创建有向图,然后反转边缘的方向:

G=nx.from_pandas_edgelist(df, 'To', 'From', create_using=nx.DiGraph())
nx.draw(G)

enter image description here

现在按照上面提到的去做:

G_rev = nx.DiGraph.reverse(G)
nx.draw(G_rev)

enter image description here

关于python - 如何使用 networkx 反转有向图中的箭头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56685035/

51 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com