2016-12-12 3 views
0

Ich bin sehr neu bei networkX. Also ein Problem in sehr grundlegenden Dingen.Textdatei von Graph-Daten mit NetworkX lesen

Ich habe Netzwerkdaten in der Textdatei in folgendem Format:

InNode OutNode 

N1  N5 
N2  N4 
N3  N6 
N2  N2 
N4  N7 

Meine Fragen sind:

1) Wie die Daten mit NetworkX zu lesen, so dass ich das bekommen kann Knoten und Kanten zwischen dem Graphen?

2) Wie berechnet man die Eigenflanke des Netzwerks (N2, N2)?

Ich habe den folgenden Code versucht. Aber es gibt mir nicht die richtige Antwort.

import matplotlib 
import networkx as net 
import urllib 
import csv 


g = net.Graph() 

f1 = csv.reader(open("data.txt","rb")) 

for row in f1: 
    g.add_nodes_from(row) 

len(g) 

g.number_of_nodes() 

Antwort

2

Finden Sie die Lösung. Dies könnte jemandem wie mir helfen:

# Reading the file. "DiGraph" is telling to reading the data with node-node. "nodetype" will identify whether the node is number or string or any other type. 


g = nx.read_edgelist("data.txt",create_using=nx.DiGraph(), nodetype = int) 

# check if the data has been read properly or not. 

nx.info(g) 

# count the number of nodes 

g.number_of_nodes() 

# number of self-nodes 

g.selfloop_edges()