Written by Doug Issichopoulos, dougissi.com
Feb 6, 2020
import pandas as pd
import networkx as nx
data = {
'A': {'B':1, 'C':1},
'B': {'A':1, 'C':1},
'C': {'A':1, 'B':1, 'D':1, 'E':1},
'D': {'C':1},
'E': {'C':1},
}
df = pd.DataFrame(data).fillna(0)
df.sort_index(inplace=True)
df.sort_index(axis=1, inplace=True)
df
G = nx.Graph(df)
pos = nx.spring_layout(G)
nx.draw_networkx(G, pos=pos)
S1 = df.values
S1
S2 = S1.dot(S1)
S2
S3 = S2.dot(S1)
S3
S3.trace() / 6
data = {
'A': {'B':1, 'C':1, 'D': 1},
'B': {'A':1, 'C':1},
'C': {'A':1, 'B':1, 'D':1, 'E':1},
'D': {'A': 1, 'C':1, 'E':1},
'E': {'C':1, 'D': 1},
}
df = pd.DataFrame(data).fillna(0)
df.sort_index(inplace=True)
df.sort_index(axis=1, inplace=True)
df
G = nx.Graph(df)
pos = nx.spring_layout(G)
nx.draw_networkx(G, pos=pos)
S1 = df.values
S1
S2 = S1.dot(S1)
S2
S3 = S2.dot(S1)
S3
S3.trace() / 6