Один из способов решить эту проблему - превратить ваш мультидиграф в взвешенный орграф, как в этом вопросе . Предполагая, что ваш мультидиграф невзвешен:
import networkx as nx
# MultiGraph
M = nx.MultiDiGraph()
M.add_edge(1,2)
M.add_edge(1,2)
M.add_edge(2,3)
M.add_edge(1,3)
M.add_edge(1,4)
# create weighted graph from M
G = nx.DiGraph()
for u,v in M.edges():
if G.has_edge(u,v):
G[u][v]['weight'] += 1
else:
G.add_edge(u, v, weight=1)
clustering = nx.clustering(G,weight='weight')
clustering
Обратите внимание, что для этого требуется NetworkX 2.2.