將作者列表進行處理,並完成統計。具體步驟如下:
圖是複雜網路研究中的乙個重要概念。graph是用點和線來刻畫離散事物集合中的每對事物間以某種方式相聯絡的數學模型。graph在現實世界中隨處可見,如交通運輸圖、旅遊圖、流程圖等。利用圖可以描述現實生活中的許多事物,如用點可以表示交叉口,點之間的連線表示路徑,這樣就可以輕而易舉的描繪出乙個交通運輸網路。
迪傑斯特拉路徑:.從乙個源點到其它各點的最短路徑,可使用迪傑斯特拉演算法來求最短路徑;
連通圖:在乙個無向圖 g 中,若從頂點i到頂點j有路徑相連,則稱i和j是連通的。如果 g 是有向圖,那麼連線i和j的路徑中所有的邊都必須同向。如果圖中任意兩點都是連通的,那麼圖被稱作連通圖。如果此圖是有向圖,則稱為強連通圖。
對於其他圖演算法,可以在networkx和igraph兩個庫中找到。
4 具體**以及講解
首先讀取我們想要的資料:
data =
#初始化
#使用with語句優勢:1.自動關閉檔案控制代碼;2.自動顯示(處理)檔案讀取資料異常
with
open
("arxiv-metadata-oai-snapshot.json"
,'r'
)as f:
for idx, line in
enumerate
(f):
d = json.loads(line)
d =data = pd.dataframe(data)
#將list變為dataframe格式,方便使用pandas進行分析
import networkx as nx
# 建立無向圖
g = nx.graph(
)# 只用五篇**進行構建
for row in data.iloc[:5
].itertuples():
authors = row[1]
authors =
[' '
.join(x[:-
1])for x in authors]
# 第乙個作者 與 其他作者鏈結
for author in authors[1:
]:g.add_edge(authors[0]
,author)
# 新增節點2,3並鏈結23節點
將作者關係圖進行繪製:
得到作者之間的距離:
try
:print
(nx.dijkstra_path(g,
'balázs c.'
,'ziambaras eleni'))
except
:print
('no path'
)
如果我們500片**構建圖,則可以得到更加完整作者關係,並選擇最大聯通子圖進行繪製,折線圖為子圖節點度值。
# 計算**關係中有多少個聯通子圖
零基礎學習資料分析Day02
繪製一條基本的折線 xarray 水平座標序列 yarray 垂直座標序列 xarray np.arange 1,9 yarray np.array 6,5,8,7,78,12,20,45 mp.plot xarray,yarray mp.show 顯示圖表 01.png 繪製一條水平直線 繪製水平...
大資料學習,零基礎如何學習資料分析
大資料時代,你在幹什麼?大家都知道資料本身並沒有什麼價值,由於分析方法的存在,使得海量的資料變得如同一座永遠開採不完的礦,是金礦還是銀礦,得看你怎麼分析和怎麼利用了,一起來了解一下怎麼學習大資料吧。隨著大資料的發展,以及其應用範圍的擴大,越來越多的公司開始著手部署大資料戰略。市場需求的增長,崗位的增...
Task02 零基礎入門資料探勘 資料分析
train data pd.read csv path used car train 20200313.csv sep test data pd.read csv path used car testa 20200313.csv sep display train data.shape displa...