Ich zeichne ein Netzwerkx-Diagramm mit Gewichten an Kanten, die ich kumulativ summieren möchte. Der folgende Code erhält nur das letzte Gewicht der Kanten, aber die kumulative Summe. Es gibt 5 Knoten und 3 Kanten. Die Kanten sind ('A', 'B'), ('A', 'D')
und ('C', 'E')
, und das Gewicht ist [1, 1, 1]
. Was ich will, ist das Gewicht [2, 2, 1]
nicht [1, 1, 1]
. Brauche Hilfe. Tks.Networkx Gewichte auf Kanten mit kumulativen Summe
1. Erstellen Sie eine df
import pandas as pd
import networkx as nx
ints = [1] * 5
a = ['A', 'B', 'C', 'A', 'A']
b = ['D', 'A', 'E', 'D', 'B']
df = pd.DataFrame(ints, columns=['weight'])
df['a'] = a
df['b'] = b
df
weight a b
0 1 A D
1 1 B A
2 1 C E
3 1 A D
4 1 A B
2. eine Grafik zeichnen.
G=nx.from_pandas_dataframe(df, 'a', 'b', ['weight'])
edges = G.edges()
weights = [G[u][v]['weight'] for u,v in edges]
pos = nx.circular_layout(G)
nx.draw(G, pos, with_labels=True, width=weights)
Großartig, @Mikk, TKS. –