




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、復雜網(wǎng)絡(luò)分析庫 NetworkX 學習筆記(1):入門本文轉(zhuǎn)載至:http:/blog.scie ncen NetworkX是一個用Python語言開發(fā)的圖論與復雜網(wǎng)絡(luò)建模工具, 內(nèi)置了常用的圖與復雜網(wǎng)絡(luò)分析算法,可以方便的進行復雜網(wǎng)絡(luò)數(shù)據(jù) 分析、仿真建模等工作。我已經(jīng)用了它一段時間了,感覺還不錯(除 了速度有點慢),下面介紹我的一些使用經(jīng)驗,與大家分享。一、NetworkX及Python開發(fā)環(huán)境的安裝首 先 至Uhttp:/pypi.pyth on.o rg/pypi/networkx/ 下 載networkx-1.1-py2.6.egg,至U pywin32-214.win32-py2.6
2、.exe。如果要用 Networkx 的制圖功能,還要 去下載 matplotlib 和 numpy , 地址分別在 http:/sourceforge. net/projects/matplotlib/禾口 Python 2.6 版 本的。上邊四個包中,pywin32、matplotlib和numpy是exe文件,按提 示一路next,比較容易安裝。而NetworkX是個egg文件,安裝稍微 麻煩,需要用easyinstall安裝。具體方法:啟動DOS控制臺(在 運 行”里輸入 cmd),輸入 C:Python26Libsite-packageseasy_install.py C:n etw
3、orkx-1.1-py2.6.egg,回車后會自動執(zhí)行安裝。注意我是把 networkx-1.1-py2.6.egg放到了 C盤根目錄,讀者在安裝時應(yīng)該具體根 據(jù)情況修改路徑。安裝完成后,啟動開始-程序-ActiveState ActivePython 2.6(32-bit) - PythonWin Editor,”在 shell 中輸入: import n etworkx as nxprint nx如果能輸出:vmodule'n etworkx'from'C:Python26libsite-packagesnetworkx-1.1-py2.6.eggnetworkx_
4、init_ _.pyc'>說明Networkx已經(jīng)安裝好了,可以正常調(diào)用。關(guān)于Python語言, 如果沒有接觸過可以找一本Python的語法書來看看(推薦Python精 要參考(第二版),網(wǎng)上有電子版)。這個語言很簡單易學,只要有 點編程基礎(chǔ),幾天就可以學會它,然后就可以自如的運用它調(diào)用 NetworkX 了。二、建立圖或網(wǎng)絡(luò)1、無向圖在PythonWin的Shell里輸入:import networkx as nx #導入 NetworkX 包,將其重命名為 nxG=n x.Graph() #建立一個空的無向圖GG.add_node(1) #添加一個節(jié)點 1G.add_edge
5、(2,3)林加一條邊2-3 (隱含著添加了兩個節(jié)點2、3)G.add_edge(3,2) #寸于無向圖,邊3-2與邊2-3被認為是一條邊print G.n odes() #輸出全部的節(jié)點:1,2, 3print G.edges() #輸出全部的邊:(2, 3)print G.n umber_of_edges() #輸出邊的數(shù)量:1這樣就可以建立一個簡單的無向圖了。如果你的數(shù)據(jù)是存在文件里的 可以循環(huán)從文件中讀取節(jié)點和邊添加到G中。2、有向圖有向圖的建立方式和無向圖基本類似,只是在上述代碼的第二行,將G = nx.Graph()改為G = nx.DiGraph()。需要注意的是,此時再添 加邊3
6、-2與邊2-3,則被認為是兩條不同的邊。同時,有向圖和無向 圖 是可以 相互轉(zhuǎn) 化的,分 別用到 Graph.to_undirected()和 Graph.to_directed()兩個方法。import networkx as nx #導入 NetworkX 包,將其重命名為 nxG=nx.DiGraph() #建立一個空的無向圖GG.add_node(1) #添加一個節(jié)點 1G.add_edge(2,3)林加一條邊2-3 (隱含著添加了兩個節(jié)點2、3)G.add_edge(3,2) #寸于無向圖,邊3-2與邊2-3被認為是一條邊print G.n odes() #輸出全部的節(jié)點:1,2,
7、3print G.edges() #輸出全部的邊:(2, 3)print G.n umber_of_edges() #輸出邊的數(shù)量:13、加權(quán)圖(網(wǎng)絡(luò))有向圖和無向圖都可以給邊賦予權(quán)重,用到的方法是 add_weighted_edges_from它接受1個或多個三元組u,v,w作為參數(shù), 其中u是起點,V是終點,w是權(quán)重。例如:G.add_weighted_edges_from(0,1,3.0),(1,2,7.5)淼加 0-1 和 1-2 兩條 邊,權(quán)重分別是3.0和7.5。如果想讀取權(quán)重,可以使用get_edge_data方法,它接受兩個參數(shù) u和v,即邊的起訖點。例如:print G.get_edge_data(1,2) #|輸出'weight': 7.5,這是一個字典結(jié)構(gòu), 可以查看python語法了解它的用法。三、調(diào)用圖算法NetworkX提供了常用的圖論經(jīng)典算法,例如DFS、BFS、最短路、最小生成樹、最大流等等,非常豐富,如果不做復雜網(wǎng)絡(luò),只作 圖論方面的工作,也可以應(yīng)用NetworkX作為基本的開發(fā)包。具體的算法調(diào)用方法我就不一一介紹了,可以瀏覽NX的在線手冊 http:/ networkxan /refere nce/algorithms.html,對每個算法都提供 了詳細的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 大學早晚活動方案
- 大型助殘活動方案
- 大學暴走活動方案
- 多段式韻律活動方案
- 大型暑假活動方案
- 多日步行活動方案
- 大班國風開學活動方案
- 夏季宣傳服務(wù)活動方案
- 夏天噴泉活動方案
- 地產(chǎn)國慶期間活動方案
- 【MOOC】融合新聞:通往未來新聞之路-暨南大學 中國大學慕課MOOC答案
- 電信總經(jīng)理談服務(wù)
- JGJT46-2024《施工現(xiàn)場臨時用電安全技術(shù)標準》條文解讀
- 防雷應(yīng)急演練方案
- 半結(jié)構(gòu)化面試題100題
- 第三章更好統(tǒng)籌發(fā)展和安全的途徑和方法-國家安全教育大學生讀本教案
- 房屋及相關(guān)設(shè)施零星維修工程施工方案
- 部編版四年級語文下冊 期末詞語成語專項復習【含答案】
- 2025年危險化學品經(jīng)營單位安全管理人員上崗證考試題庫(含答案)
- 2噸超純水技術(shù)方案
- 2024-2025學年小學信息技術(shù)(信息科技)六年級全一冊義務(wù)教育版(2024)教學設(shè)計合集
評論
0/150
提交評論