【发布时间】:2016-05-04 22:04:12
【问题描述】:
我在下面创建了一个名为G 的Networkx graph:
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 的单独列中。
我尝试使用以下代码执行此操作,但它会生成一个带有 2 列的 dataframe,其中 1 列带有 node 数字,1 列带有所有 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 以及我正在寻找的输出。
【问题讨论】:
标签: python python-2.7 pandas dataframe networkx