成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

復雜網絡分析之數據準備篇

大數據
networkx創建節點需要的數據很簡單,就是 字符串或者列表(集合也可以的) 。而且本身nodes數據就是列表,直接就能用到networkx構建節點中來。

關系圖之原始數據

我給大家編了下面兩組原始數據,試圖畫出abcd四元素之間的關系

nodes_data = [‘a’, ‘b’, ‘c’, ‘d’]

raw_data = [‘acW’, ‘aca’, ‘caE’, ‘ec’, ‘cd’, ‘dc’]

我們做關系網絡前的最初始數據***就是上面這樣子,這種數據格式還是比較簡單的。

nodes_data表示節點數據,用來在圖中畫節點

raw_data中含有共現的相互關系,但是需要進一步的清理規整。

關系圖之數據格式

{source: {target: weight}}

source 起點

target 終點

weight權重(起點到終點次數)

nodes_data = [‘a’, ‘b’, ‘c’, ‘d’]

raw_data = [‘acW’, ‘aca’, ‘caE’, ‘ec’, ‘cd’, ‘dc’]

nodes_data和raw_data整理成有權有向數據格式如下:

{‘a’: {‘c’: 4},

‘c’: {‘a’: 4, ‘d’: 2},

‘d’: {‘c’: 2}}

上面的格式即可用來畫有權有向圖,也可用到無權無向圖,還可畫有權無向圖、無權有向圖。

 

 

所以數據保存,盡量保存為有權有權有向格式。盡可能保存多的信息,請用有權有向數據格式。

后面所有的關系圖數據格式均以有權有向格式為基準。

如何實現有權有向數據格式

nodes_data = [‘a’, ‘b’, ‘c’, ‘d’]

raw_data = [‘acW’, ‘aca’, ‘caE’, ‘ec’, ‘cd’, ‘dc’]

||

|| ?

\/

{‘a’: {‘c’: 4},

‘c’: {‘a’: 4, ‘d’: 2},

‘d’: {‘c’: 2}}

這里很難,我估計我今天也說不太清除。這個只能希望大家悟性比我高,在就是運行下,編點簡單的數據實驗試驗下,發現規律,也就懂了。

networkx需要的數據格式

有了上面富有信息量的有向有權格式數據還不行,我們要再將數據微調下,才能使用networkx庫。

networkx需要啥數據格式?

data = {‘a’:{‘b’:1},

‘c’:{‘a’:2},

‘e’:{‘b’:3},

‘b’:{‘a’:4}}

nodes = {‘a’,’b’,’c’,’d’,’e’}

networkx節點

#首先導入庫,解決中文顯示問題

  1. import networkx as nx 
  2. import matplotlib.pyplot as plt 
  3. from pylab import mpl 
  4.  
  5. #解決顯示中文問題 
  6. # 指定默認字體 
  7. mpl.rcParams['font.sans-serif'] = ['SimHei']    
  8.  
  9. # 解決保存圖像是負號'-'顯示為方塊的問題 
  10. mpl.rcParams['axes.unicode_minus'] = False 

可見networkx創建節點需要的數據很簡單,就是 字符串或者列表(集合也可以的) 。而且本身nodes數據就是列表,直接就能用到networkx構建節點中來。

但是networkx構建邊時候,要用什么樣式的呢?

networkx無向邊

可見networkx 無向邊 的構建只需要元組或列表數據,但是如何從 有權有向格式數據 轉化為 元組 或者 列表(集合也可以的) 數據呢?

data = {‘a’:{‘b’:1},

‘c’:{‘a’:2},

‘e’:{‘b’:3},

‘b’:{‘a’:4}}

一、無權無向邊

a->b 和b->a是一條邊

data的邊的集合是{(‘e’, ‘b’), (‘c’, ‘a’), (‘a’, ‘b’)}

生成無權無向邊數據的代碼:

二、 有權無向邊

a->b和b->a使得 ab共出現5次。

有權無向邊應為{(‘c’, ‘a’, 2), (‘a’, ‘b’, 5), (‘e’, ‘b’, 3)}

networkx有向邊

 

可見networkx無向邊的構建只需要元組或列表數據,但是如何從有權有向格式數據轉化為元組或者列表(集合也可以的)數據呢?

data = {‘a’:{‘b’:1},

‘c’:{‘a’:2},

‘e’:{‘b’:3},

‘b’:{‘a’:4}}

一、無權有向邊

a->b 和b->a是一條邊

data的邊的集合是{(‘a’, ‘b’), (‘b’, ‘a’), (‘c’, ‘a’), (‘e’, ‘b’)}

生成無權有向向邊數據的代碼:

二、有權有向邊

[(‘a’, ‘b’, 1), (‘c’, ‘a’, 2), (‘e’, ‘b’, 3), (‘b’, ‘a’, 4)]

這樣更好理解些

  1. weight = data.get(node_k).get(node_v) 

其實涉及到有權的邊畫圖,比如讓邊顯示粗細以表示權重大小。這個我還沒有實現,主要是剛剛學networkx。不過今天這篇文章的探討還是很有用的。可以將數據整理成其他繪圖軟件指定格式。繪制有權圖。

寫了這么多也不知道大家搞糊涂了沒有,反正我寫的有點暈!

責任編輯:武曉燕 來源: Ruobing Shen
相關推薦

2021-01-21 10:50:03

僵尸網絡FreakOutLinux 系統

2015-12-11 10:09:38

2009-08-13 21:51:18

2010-08-26 11:31:24

網絡分析模塊NAM

2015-07-06 10:06:57

網絡分析高級運營分析

2009-11-17 18:55:44

2009-11-17 17:26:03

2009-12-31 10:36:48

網絡分析高彥剛

2016-10-15 00:03:59

社交網絡分析SNA

2013-08-26 10:10:23

2016-11-01 09:29:08

2009-11-18 16:44:58

2013-04-09 09:51:25

科來網絡分析

2011-04-11 13:58:09

TCP

2020-06-30 09:54:30

框架AI開發

2010-04-02 22:19:40

網絡分析產品安全防御科來軟件

2009-11-18 16:37:20

2021-02-23 10:05:39

Linux網絡分析tcpdump

2021-02-26 05:38:39

Linux網絡Tcpdump

2014-04-22 09:47:36

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕亚洲一区二区va在线 | 久久精品视频一区二区三区 | 久久免费精品 | 中文在线a在线 | 九九视频在线观看视频6 | 在线免费观看日本视频 | 精品久久久久久久 | 毛片网站免费观看 | 91激情电影 | 爱爱视频日本 | 91天堂网 | 99精品免费久久久久久日本 | 亚洲视频在线一区 | 国产丝袜一区二区三区免费视频 | 中文字幕国产 | 81精品国产乱码久久久久久 | 免费国产一区 | 国户精品久久久久久久久久久不卡 | 老妇激情毛片免费 | 亚洲国产精品99久久久久久久久 | 亚洲国产精品成人综合久久久 | 欧美一级淫片007 | 欧美夜夜 | 亚洲一区二区三区免费 | 欧美激情综合五月色丁香小说 | 狠狠操av| 国产高清精品一区二区三区 | 天天躁日日躁狠狠躁2018小说 | 国产网站在线免费观看 | 神马久久久久久久久久 | 精品久久成人 | 成人一区二区三区 | 国产亚洲精品久久久久久牛牛 | 成人性视频免费网站 | www.久久影视 | 国产精品1区2区3区 一区中文字幕 | 精品国产一区二区三区久久狼黑人 | 亚洲成人久久久 | 国产一伦一伦一伦 | 国产在线观看一区二区三区 | 日韩在线精品强乱中文字幕 |