Grundstück NetworkX Graph von Nähe Matrix in der CSV-Datei
Ich haben gekämpft, mit diesem problem für eine Weile jetzt, ich weiß, das ist sehr einfach - aber ich habe wenig Erfahrung mit Python oder NetworkX. Meine Frage ist ganz einfach, ich versuche zu Grundstück einen großen Datensatz (über 200 Zeilen/Spalten) einer matrix, die wie folgt aussieht. Die erste Zeile und die erste Spalte sind identisch.
A,B,C,D,E,F,G,H,I,J,K
A,0,1,1,0,1,1,1,1,0,1,0
B,1,0,0,0,1,1,1,1,0,1,0
C,1,0,0,0,1,1,1,1,0,1,0
Es nur eine matrix, die zeigen, wie Menschen miteinander verbunden sind, und alles was ich will ist, zu importieren und Plotten Sie diese csv-Datei mit entsprechenden Beschriftungen in NetworkX.
Habe ich diese Datei (people.cs
v), und beim Blick auf die vorherigen Antworten hier, es scheint der beste Weg, dies zu tun ist, indem Sie die Daten in ein array numpy.
Scheint es ein problem mit diesem:
import numpy as np
import networkx as nx
import matplotlib.pyplot as plt
from numpy import genfromtxt
import numpy as np
mydata = genfromtxt('mouse.csv', delimiter=',')
Bekomme ich die folgende Ausgabe:
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/lib/npyio.py", line 1272, in genfromtxt
fhd = iter(np.lib._datasource.open(fname, 'rbU'))
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/lib/_datasource.py", line 145, in open
return ds.open(path, mode)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/lib/_datasource.py", line 472, in open
found = self._findfile(path)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/lib/_datasource.py", line 323, in _findfile
if self.exists(name):
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/lib/_datasource.py", line 417, in exists
from urllib2 import urlopen
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 94, in <module>
import httplib
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 69, in <module>
from array import array
File "/Users/Plosslab/Documents/PythonStuff/array.py", line 4, in <module>
NameError: name 'array' is not defined
Du musst angemeldet sein, um einen Kommentar abzugeben.
Machte ich eine kleine csv genannt mycsv.csv hat Folgendes:
Sie don T haben ein ',' als erstes Zeichen in der ersten Zeile, aber Sie müssen stattdessen ein Leerzeichen, so ist dies ein Fehler auf mein Teil lass es mich wissen. Die Allgemeine Idee der gleiche sein wird. Lesen Sie in der csv als solche:
Diese Drucke:
Nun, dass wir das csv Lesen in ein numpy-array müssen wir extrahieren Sie einfach die Nähe matrix:
Diese Drucke:
Können Sie gerade schneiden Sie Ihre numpy-array als nötig, wenn meine kleinen Beispiel nicht genau, wie deine.
Zeichnen der Grafik, die Sie benötigen, um den import matplotlib und networkx:
Hier eine kurze tutorial auf Graphen mit python.
Diese kann getan werden, schnell und einfach mit
pandas
undnetworkx
.Zum Beispiel, habe ich eine kleine
csv
Datei namenstest.csv
alsLesen Sie diese csv-Datei und erstellen Sie ein Diagramm wie folgt
Für das Plotten dieser graph verwenden
Würden Sie sich ein Grundstück etwas ähnlich wie diese.