我正在尝试反转有向图的箭头,使第二列成为父级。我正在尝试使用networkx的nx.Digraph.reverse()方法,但它给我带来TypeError错误:reverse()缺少1个必需的位置参数:'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
该类别用于“收件人”列。但是当我尝试使用Digraph时,它会显示“ To”值收敛到“ From”值。我要使其偏离'From'值。
答案 0 :(得分:1)
nx.DiGraph.reverse()
需要一个图的实例。而是将create_using
设置为nx.DiGraph()
从数据框的边缘创建有向图,然后然后反转边缘的方向:
G=nx.from_pandas_edgelist(df, 'To', 'From', create_using=nx.DiGraph())
nx.draw(G)
现在通过上述操作:
G_rev = nx.DiGraph.reverse(G)
nx.draw(G_rev)