複雜網路分析工具Python+igraph(一)

複雜網路分析工具Python+igraph(一)

僅作為複雜網路領域研究的小白學習記錄之用,希望可以對走同樣道路的小白們有所幫助

對於已經在複雜網路領域學習一年多的本小白來說,現在才開始進行實戰確實有些慚愧,但亡羊補牢,為時未晚,願勤能補拙,也有成為大牛的一天 (^?^)

機緣巧合下了解到igraph對於複雜網路分析來說是一個不錯的實戰工具,可用於R,Python或C中,igraph.org/為官網,上面有安裝教程以及API,不過我是在linux環境下安裝的,上面並沒有說明,所以我的安裝過程是頗費了一番周折,但整個做完之後才發覺這個可能是因為太過簡單而被忽略了(@′_`@),我就想說開發人員有沒有想過小白的感受└? ? ? ? ?┘,所以我在之後會對安裝做詳細陳述的。

就我目前所有的學習內容主要是基於Python上的igraph包來進行的,從所掌握的信息來看,它能做的事情有:

1)可導入外部數據集存儲在一個Graph類中,數據集存儲文件類型如下圖所示

我目前實踐的是一個邊列表文件,一行為兩個頂點,一行代碼就可以搞定數據集的導入

graph = Graph.Read_Edgelist("/home/ann/Documents/soc-pokec-relationships.txt")

2)用graph對象可對圖中的節點和邊進行增刪改查,添加屬性,如:

g.vs["name"] = ["Alice", "Bob", "Claire", "Dennis", "Esther", "Frank", "George"]

g.vs為節點對象序列,上面這一句是給節點添加「name」屬性並賦值

3)可生成確定圖及隨機圖

4)對圖進行可視化

如果覺得上面有可以用到的功能,那麼下面就可以進行安裝啦

操作系統:Ubuntu

編程語言:Python

安裝包:igraph,pycairo(用於可視化的輔助包)

在已經將Python安裝好的情況下,只需要兩句話就可以了(′⊙ω⊙`)!

sudo apt-get install python-igraphsudo apt-get install python-cairo

推薦閱讀:

Arxiv網路科學論文摘要12篇(2018-03-08)
Arxiv網路科學論文摘要7篇(2018-02-22)
Arxiv網路科學論文摘要12篇(2018-02-14)
Arxiv網路科學論文摘要10篇(2018-03-29)

TAG:複雜網路 | 社會網路分析 |