説明書を見ましたが、完全には理解できませんでした。
3列の巨大なファイルがあり、node1はノード2に一定の強度でヒットします。この多くのクラスターから NetworkX によって生成され、これは完全に機能します。ただし、これらのファイルを cytoscape などにロードすることはできないため、すべてのクラスターを個別のファイルに書き込む必要があります。
私は試した:
for n in G: nx.write_weighted_edgelist(G[n], 'test'+str(count))
または、G.number_of_nodes/edges、G.graph.keys()、dir(G) を調べましたが、これは私が望む結果にはなりません。
すべてのクラスターを強度で別々に保存する方法はありますか?
Clusters = nx.connected_components(G) を使用すると、クラスターを取得できますが、すべての接続情報が失われます。
for n,nbrs in G.adjacency_iter():
for nbr,eattr in nbrs.items():
data=eattr['weight']
if data < 2:
print('(%s, %s, %s)' % (n,nbr,data))
空の行でそれを使用する場合、それらは別のクラスターであると思います。
##########解決 Clusters = nx.connected_components(G)
for Cluster in Clusters:
count = count + 1
cfile = open("tmp/Cluster_"+str(count)+".clus","w")
for C in Cluster:
hit = G[C]
for h in hit:
cfile.write('\t'.join([str(C),str(h),str(hit[h].values()[0]),"\n"]))