我有一个以下创建的Networkx图
,名为G
:
import networkx as nx
G = nx.Graph()
G.add_node(1,job= 'teacher', boss = 'dee')
G.add_node(2,job= 'teacher', boss = 'foo')
G.add_node(3,job= 'admin', boss = 'dee')
G.add_node(4,job= 'admin', boss = 'lopez')
我希望能够将
node
编号、attributes
、job
和boss
存储在pandas
dataframe
的不同列中。我尝试使用下面的代码实现,但是它生成了一个只有两列的dataframe
,其中一列是node
编号,另一列包含所有attributes
。graph = G.nodes(data = True)
import pandas as pd
df = pd.DataFrame(graph)
df
Out[19]:
0 1
0 1 {u'job': u'teacher', u'boss': u'dee'}
1 2 {u'job': u'teacher', u'boss': u'foo'}
2 3 {u'job': u'admin', u'boss': u'dee'}
3 4 {u'job': u'admin', u'boss': u'lopez'}
注意:我知道
NetworkX
有一个 to_pandas_dataframe
函数,但它不能提供我要寻找的输出 dataframe
。