具有 python 数据框的有向图
directed graph with python dataframe
I have a data frame like below:
df=
Parent Child
1087 4
1087 5
1087 25
1096 25
1096 26
1096 27
1096 4
1144 25
1144 26
1144 27
I have tried this below code.. but not providing directed graph just giving graph which is not clear picture
import pandas as pd
import numpy as np
import networkx as nx
import matplotlib.pyplot as plt
# Build a dataframe with 4 connections
df = pd.DataFrame([[k, i] for k, v in data.items() for i in v],
columns=['parent', 'child'])
# Build your graph
G = nx.from_pandas_edgelist(df, 'parent', 'child')
# Plot it
nx.draw(G,pos=nx.spring_layout(G), with_labels=True)
plt.show()
我想将此数据框转换为有向图,其中源是父对象,目标是子对象。
提前致谢....
您需要在from_pandas_edgelist中指定create_using
参数:
G = nx.from_pandas_edgelist(df, 'parent', 'child', create_using=nx.DiGraph())
后面G
的类型是<class 'networkx.classes.digraph.DiGraph'>
边缘是:
(1144, 25)
(1144, 26)
(1144, 27)
(1096, 25)
(1096, 26)
(1096, 27)
(1096, 4)
(1087, 25)
(1087, 4)
(1087, 5)
I have a data frame like below:
df=
Parent Child
1087 4
1087 5
1087 25
1096 25
1096 26
1096 27
1096 4
1144 25
1144 26
1144 27
I have tried this below code.. but not providing directed graph just giving graph which is not clear picture
import pandas as pd
import numpy as np
import networkx as nx
import matplotlib.pyplot as plt
# Build a dataframe with 4 connections
df = pd.DataFrame([[k, i] for k, v in data.items() for i in v],
columns=['parent', 'child'])
# Build your graph
G = nx.from_pandas_edgelist(df, 'parent', 'child')
# Plot it
nx.draw(G,pos=nx.spring_layout(G), with_labels=True)
plt.show()
我想将此数据框转换为有向图,其中源是父对象,目标是子对象。
提前致谢....
您需要在from_pandas_edgelist中指定create_using
参数:
G = nx.from_pandas_edgelist(df, 'parent', 'child', create_using=nx.DiGraph())
后面G
的类型是<class 'networkx.classes.digraph.DiGraph'>
边缘是:
(1144, 25)
(1144, 26)
(1144, 27)
(1096, 25)
(1096, 26)
(1096, 27)
(1096, 4)
(1087, 25)
(1087, 4)
(1087, 5)