Ich habe jetzt ein wenig mit diesem Problem gekämpft, ich weiß, das ist sehr einfach - aber ich habe wenig Erfahrung mit Python oder NetworkX. Meine Frage ist sehr einfach, ich versuche, einen großen Datensatz (etwa 200 Zeilen / Spalten) einer Matrix zu erstellen, die so aussieht. Die erste Zeile und die erste Spalte sind identisch.
%Vor%Es ist nur eine Matrix, die zeigt, wie Menschen miteinander verbunden sind, und alles was ich möchte ist, diese csv-Datei mit den entsprechenden Labels in NetworkX zu importieren und zu plotten.
Ich habe diese Datei ( people.cs
v) und schaue auf vorherige Antworten hier , es scheint der beste Weg, dies zu tun, indem Sie die Daten in ein Array mit numpy setzen.
Es scheint ein Problem damit zu geben:
%Vor%Ich bekomme folgende Ausgabe:
%Vor%Ich habe einen kleinen csv mit dem Namen mycsv.csv erstellt, der folgendes enthält:
%Vor%Sie haben kein ',' als erstes Zeichen in der ersten Zeile, aber stattdessen haben Sie ein Leerzeichen. Wenn das also ein Fehler ist, lassen Sie es mich wissen. Die allgemeine Idee wird dieselbe sein. Lesen Sie den CSV als solchen ein:
%Vor%Dies druckt:
%Vor%Nun, da wir den CSV als ein numpiges Array eingelesen haben, müssen wir nur die Adjazenzmatrix extrahieren:
%Vor%Dies druckt:
%Vor%Sie können einfach Ihr numpliges Array nach Bedarf zerschneiden, wenn mein kleines Beispiel nicht genau so ist wie Sie.
Um das Diagramm zu plotten, müssen Sie matplotlib und networkx:
importieren %Vor%Hier ist ein kurzes Tutorial zu Graphen mit Python.
Dies kann einfach mit pandas
und networkx
erreicht werden.
Ich habe zum Beispiel eine kleine csv
-Datei namens test.csv
as
Sie können diese CSV-Datei lesen und ein Diagramm wie folgt erstellen
%Vor%Zum Zeichnen dieses Diagramms verwenden Sie
%Vor%Sie würden eine Handlung ähnlich wie diese bekommen.