当前位置:首页 > 在线留言 >

python-igraph 小试牛刀

作者:永年县聚联紧固件制造有限公司    发布时间:2017-09-08 19:39:10

python-igraph 小试牛刀

1.首先明确igraph能做什么,为何使用。

2.安装。

3.测试。

Installing collected packages: python-igraph

Running setup.py install for python-igraph

Successfully installed python-igraph-0.7.1-4

vonzhou@CHOWN:~$ python

Python 2.7.3 (default, Dec 18 2014, 19:03:52)

[GCC 4.6.3] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> import igraph

Traceback (most recent call last):

File "", line 1, in

ImportError: No module named igraph

主要是igraph安装在了其他版本下面,SO下面这样。

vonzhou@CHOWN:~$ python3

Python 3.2.3 (default, Feb 27 2014, 21:33:50)

[GCC 4.6.3] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> igraph

>>> from igraph import *

>>> g=Graph(1)

>>> g

>>> print(g)

IGRAPH U--- 1 0 --

>>> g.add_vertices(2)

>>> print(g)

IGRAPH U--- 3 0 --

>>> g.add_edges([(0,1),(1,2)])

>>> print(g)

IGRAPH U--- 3 2 --

+ edges:

0--1 1--2

>>> f=open("test.net","w")

>>> g.write_pajek(f)

>>>

所以一个简单的Pajek .net file 就生成了,下一步就是编码从数据库中取出对应的数据,然后构造成Graph,

继而得到最终可供分析的文件,比较简单。

1.安装mysql:sudo apt-get install mysql-server;

登录:mysql -uroot -p

2.导入已有数据:source ,静静等候导入完成;

3.导入完成后,明确表结构:

show tables;

desc tablename;

4.下面在python程序中进行具体的业务处理。

(1)从数据库把需要的数据导出到文件中;

(2)具体由数据生成Graph,从而可以得到我们需要的Pajek .net文件。这里面的难点在于:不能以ID的

最大值作为vertex的数目,构造Graph,采集软件,因为值太大,所以只能用ID作为vertex的“name”属性,但是

add edge的时候又需要具体的vertex id所以需要我们自己使用一个字典保存二者之间的映射关系;

(3)慢慢等待,毕竟是30M的文件,有1391718行(通过wc -l file命令);

5.得到.net file 之后,用Pajek工具导入,可以看到网络图,进行自己需要的分析。

代码在这里。

参考:

1.Tutorial — python-igraph v0.6 documentation

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:潜江SEO http://qianjiang.raoyu.net

  • 上一篇:Go 语言Map(集合)
  • 下一篇:最后一页
  •