Skip to content

建立 2026-09-14 更新 2026-09-14

認識 NetworkX

資料裡幾乎都有「誰跟誰有關係」:朋友、航班、蛋白質交互作用、網頁連結。要把這些關係變成可計算的物件,最常用的 Python 套件就是 NetworkX

本站用繁體中文整理 NetworkX 最常碰到的操作與演算法,並蒐集官方研討會與優質 YouTube 教學,方便對照實作。

最必須掌握的 20%

學會下面這組觀念,就能處理大多數圖資料工作。其餘 API 再查 官方文件 即可。

  • 四種圖類型


    GraphDiGraphMultiGraphMultiDiGraph。先決定有沒有方向、允不允許平行邊。

  • 節點與邊


    新增、刪除、從串列一次加入。節點可以是任何可雜湊物件(不能是 None)。

  • 屬性,尤其是 weight


    節點、邊、整張圖都能掛資料。最短路徑與許多演算法會讀 weight

  • 四個檢視


    G.nodesG.edgesG.adjG.degree 是持續更新的唯讀視圖,不是靜態複本。

  • 三類演算法


    最短路徑、中心性、連通元件。這三類就能回答「多遠、誰重要、分成幾塊」。

  • 畫圖與讀寫


    nx.draw() 搭配 matplotlib;常見格式用 GraphML / GEXF / edgelist 進出。

建議學習順序

  1. 入門:安裝、圖的概念、四種圖、節點與邊、屬性。
  2. 操作:檢視圖、產生器、讀寫檔案。
  3. 分析:最短路徑、中心性、連通性與社群。
  4. 視覺化:用 matplotlib 把圖畫出來。
  5. 進階:後端加速(GraphBLAS、GPU)。
  6. 影音教學:邊看影片邊對照本站文章。

時間有限的話:先看 Crash Course,再讀 節點與邊最短路徑

官方學習資源

NetworkX 沒有官方 Certificate/認證課程。學習路徑以官方文件與核心開發者在 SciPy/PyCon 的教學為準。

官方文件

  • Tutorial:官方入門,本站許多例子對齊這份。
  • Gallery:可執行的繪圖與演算法範例。
  • Reference:完整 API。
  • Backends:把計算丟給 GPU 或其他實作。

建議搭配的影音

沒有單一官方 YouTube 頻道。最接近「原廠教學」的是 NetworkX 核心開發者在研討會的錄影,例如 SciPy 2019 Network Analysis Made SimplePyCon US 2024 NetworkX is Fast Now。完整清單見 影音教學

這套件適合什麼

NetworkX 擅長:

  • 用 Python 物件當節點,邊可以帶任意資料。
  • 快速試作演算法、教學、中小型網路分析。
  • 與 NumPy、SciPy、pandas、matplotlib 接在一起。

它的預設實作是純 Python,圖到了數十萬~數百萬邊時會變慢。那時不要換 API,改用 後端 即可。