【Python networkx和持久性(也许在neo4j中)】教程文章相关的互联网学习教程文章

python – 从带有行和列标题的csv文件中读取networkx图【代码】

我有一个CSV文件,代表图表的邻接矩阵.但是,该文件的第一行是节点的标签,第一列也是节点的标签.如何将此文件读入networkx图形对象?有没有一个整洁的pythonic方式来做到这一点没有黑客攻击? 我到目前为止的审判:x = np.loadtxt('file.mtx', delimiter='\t', dtype=np.str) row_headers = x[0,:] col_headers = x[:,0] A = x[1:, 1:] A = np.array(A, dtype='int')但当然这并没有解决问题,因为我需要图形创建中节点的标签. 数据示例...

python – 如何在networkx中创建连接图【代码】

我想通过NetworkX在IPython笔记本中创建连接图.以前,我用erdos_renyi_graph生成随机图,但我从来没有得到连接图,我想用这个图来证明我的图是一个小世界网络.但无法计算未连接图的平均最短路径.所以请告诉我如何通过NetworkX生成连接图.解决方法:由于您没有提到图表的确切参数,我想建议使用创建边缘的概率.以下networkx函数允许您为图中存在的边提供概率(p).erdos_renyi_graph(n, p, seed=None, directed=False)举个例子:G = nx.erd...

python – 为具有计算值NetworkX的图形编写标题【代码】

这应该是一个微不足道的问题.但我很困惑.我想在图的标题中打印由NetworkX计算的值:y=nx.average_clustering(G)我应该如何正确地写行:plt.title('<C>='y)标题是计算的单词和值的组合.解决方法:字符串格式是您正在努力的方式.plt.title('<C>={}'.format(y))为这个例子做了很多工作.您也可以执行通常的固定宽度填充,例如描述的in the docs. .format表单是现在进行字符串格式化的首选方式,而不是%运算符.

python – 获取有向图的所有边对. networkx【代码】

获得有向图的所有边对的最佳方法是什么.我只需要那些方向相反的边缘.我需要用它来比较关系的对称性. 我寻求以下结果(虽然我不确定是获得结果的最佳形式)输入:[(a,b,{'weight':13}),(b,a,{'weight':5}),(b,c,{'weight':8}),(c,b,{'weight':6}),(c,d,{'weight':3}), (c,e,{'weight':5})] #Last two should not appear in output because they do not have inverse edge.输出:[set(a,b):[13,5], set(b,c):[8,6]] 这里的序列是导入的...

python – NetworkX From_Pandas_dataframe【代码】

我对NetworkX有一个错误,说’模块’没有属性’from_pandas_dataframe’. 我有一个名为nflroster的数据框格式为:Index . . . Player Team Year0 . . . Player1 Team1 20141 . . .Player2 Team1 20142 . . . Player3 Team2 2014 . . . . . . . .所以根据这里的文档networkx documentation,以下这一行应该有效G = n...

python – 使用networkX的子树【代码】

在networkX中,我有一棵树作为DiGraph().#!/usr/bin/python # -*- coding: utf-8 -*- import networkx as nx t = nx.DiGraph() t.add_edge(1,'r') t.add_edge(2,'r') t.add_edge(3,'r') t.add_edge(4,2) t.add_edge(5,2) t.add_edge(6,5) print t.edges() 如果采取树的节点2.我怎么能得到2的子树? 编辑 我期待这个子树[(4,2),(5,2),(6,5)]解决方法:如果你的意思是以节点2为根的子树,那就是from networkx.algorithms.traversal.dept...

python – Networkx重复边缘

如果将相同的边缘添加到networkx边缘数据结构两次,那么节点之间是否有两条边或者只有一条边?例如,弹簧布局是否会显示节点与边[(a,b),(a,b),(a,b),(a,b)]比[(a,b),(a, b)]如果我想加重优势,我该怎么做呢?解决方法:你可以很快地测试它,但它只添加一次.边和节点在图结构中表示为字典,只有在实际不存在时才添加它们. 对于现有边缘,再次添加它们无效.

javascript – Python NetworkX / Mplleaflet:网络到geojson

我一直在使用networkx和mplleaflet在传单地图上从nx绘制我的网络.使用我的一个较小的数据集,这非常有效.但是,它不能随着更大的数据而扩展.是否可以将我的图形从networkx导出到geojson或将使用mplleaflet创建的geojson导出到新文件中?我知道networkx中的图形/节点/边缘可以写入json,但我的网络包含重要的地理信息,由于mplleaflet无法处理大小,我想将其导入QGIS. 编辑 使用我的一个较小数据集制作的传单地图可以在此处找到:https:/...

找到没有edge-networkx python的节点对【代码】

我想找到所有可能没有边连接它们的节点对,然后检查这些节点对是否在另一个图中有边.有什么建议?解决方法:如果您不关心性能,那么您可以尝试:g1Edges = Graph1.edges() notG1Edges = set() for a in Graph1.nodes():for b in Graph1.nodes():if a != b and (a,b) not in g1Edges:notG1Edges.add( (a, b) ) # print edges missed in Graph1 and Graph2 print notG1Edges.difference( Graph2.edges_iter() )注1:这适用于有向图 注2:...

如何使用python networkX包显示二分图?【代码】

如何在python networkX包中显示一个二分图,左边一列中的一个节点和右边另一个类中的节点? 我可以创建一个图形并像这样显示它B = nx.Graph() B.add_nodes_from([1,2,3,4], bipartite=0) # Add the node attribute "bipartite" B.add_nodes_from(['a','b','c'], bipartite=1) B.add_edges_from([(1,'a'), (1,'b'), (2,'b'), (2,'c'), (3,'c'), (4,'a')]) nx.draw(B) plt.show()但是我希望列中左边的节点1,2,3,4和右边一列中的节点’...

python – 在draw_networkx和matplotlib中设置颜色【代码】

我正在绘制两种类型的图形,我想要对齐颜色: > networkx.Graph中的节点颜色,和>普通情节中pyplot.hlines的颜色. 这两个数字都依赖于一个字典,其中node_names作为键,int作为值,以及matplotlib.colors.LinearSegmentedColormap cmap.如下:import matplotlib.pyplot as plt Dict = {"Alice": 0, "Bob": 1, "Carol": 2} cmap = plt.cm.Accent这允许我为每个名称获得独特的颜色.对于这个例子:for key, value in Dict.iteritems():prin...

python – networkx.MultiDiGraph.edges方法是否保持顺序?【代码】

MyNetwork是networkx.MultiDiGraph的一个实例.我想知道以下代码的多次运行是否能保证在MyNetwork中产生完全相同的包含所有边(以及边缘属性)的列表:AllEdges = [(from_node,to_node,edge_key,edge_attributes) for (from_node,to_node,edge_key,edge_attributes) in MyNetwork.edges(keys=True,data=True)] 谢谢你的回答.解决方法:从MultiDiGraph.edges()方法返回的边列表在重复调用时不保证是任何顺序或相同.如果需要特定排序,则必...

python – Networkx图搜索:dfs_successors与dfs_predecessors【代码】

考虑以下图形结构(从this question借来):G = networkx.DiGraph() G.add_edges_from([('n', 'n1'), ('n', 'n2'), ('n', 'n3')]) G.add_edges_from([('n4', 'n41'), ('n1', 'n11'), ('n1', 'n12'), ('n1', 'n13')]) G.add_edges_from([('n2', 'n21'), ('n2', 'n22')]) G.add_edges_from([('n13', 'n131'), ('n22', 'n221')])产量:n---->n1--->n11| |--->n12| |--->n13| |--->n131 |--->n2 | |-...

在python中的networkx图中查找最大加权边【代码】

我想在networkx图中找到’n’个最大加权边.如何实现.我构建了如下图:g_test = nx.from_pandas_edgelist(new_df, 'number', 'contactNumber', edge_attr='callDuration')现在,我想找到顶部’n’边缘权重,即top’n’callDurations.我还想分析这个图表以找出它的趋势.请帮助我如何实现这一目标.解决方法:如果您的图表存储为g,则可以使用以下方法访问其边缘,包括其属性:g.edges(data=True)这将返回元组列表.前两个条目是节点,第三个条...

python – 在networkx中定向,加权平衡树导入和最短路径【代码】

我有一个平衡的树,分支因子2和高度100,每个边都有一个由文本文件给出的权重,如下所示:73 4152 40 0926 53 06 34etc etc until row nr 99即:从节点0到1的边缘权重是73,从0到2是41,从1到3是52,等等. 我希望找到从树的根到末尾的最短路径(具有相应的边权重和).据我所知,这可以通过将所有边权重乘以-1并使用Networkx中的Dijkstra算法来完成. >算法选择是否正确?>如何“轻松”将此数据集导入Networkx图形对象? (PS:这是项目Euler P...

NETWORK - 相关标签
NEO4J - 相关标签