2015-10-14 40 views
1

我的數據有三列,每一列代表樹中的一個節點(a-> b-> c),我很好奇,如果有一個配方幫助準備將數據導入到Neo4j,NetworkX或其他等效圖形/網絡瀏覽器。預先感謝您提供有關將表格數據轉換爲圖表格式的任何見解。是否有用於在Data Science Studio中創建網絡圖的處理器?

+0

NetworkX是一個圖形框架,而不是「隨時可用」的解決方案,因此您必須創建自己的數據加載器。 –

+0

你能否澄清一下,(a-> b-> c) - 意味着a列的值對b列有一個有向邊的值,b有一個c? –

+0

@SergeySosnin是的,這是正確的,更詳細的視圖可能看起來像: A-> B->ç A-> C-> d A-> C->電子 等等 – Wipa

回答

0

這是一個簡單的Python腳本,可以做談話的例子(如果我正確理解你的麻煩):

import networkx as nx 
import string 
str = "a,b,c\nd,e,f\nd,k,j" 
print str 
lines = string.split(str,'\n') 
DG=nx.DiGraph() 
for line in lines: 
    nodes = line.split(",") 
    location = nodes[0] 
    manager = nodes[1] 
    report = nodes[2] 
    if (location not in DG): 
     DG.add_node(location) 
    if (manager not in DG): 
     DG.add_node(location)  
    if (report not in DG): 
     DG.add_node(location)   
    DG.add_edge(location,manager) 
    DG.add_edge(manager,report) 

print DG.nodes() 
print DG.edges() 

此代碼轉換str串向圖。

+0

首先,我非常感謝你的腳本。讓我確保正確理解它:str變量應該表示列的數量(節點),每行/行表示邊緣?因此,只要將str改爲a,b,c,... y,我就可以在具有25列的類似表格數據集上使用它。 再次感謝,試圖將其納入我的腳本。 – Wipa

+0

是的,但是雖然你只有三列,但我很簡單:location = nodes [0] manager = nodes [1] report = nodes [2]。如果你想使用25列,創建一個循環更爲實踐:對於節點中的節點...... –

相關問題