csv ファイルにペアの値があります。ペアになった値はどちらも一意である必要はありません。さらなる分析のために、この大きなリストを独立した完全なセットに分割したいと思います。
説明すると、私の「メガリスト」は次のようになります。
megalist = [['a', 'b'], ['a', 'd'], ['b', 'd'],['b', 'f'], ['r', 's'], ['t', 'r']...]
最も重要なことは、出力が対になった値のリストを保持することです (つまり、値を統合しません)。理想的には、出力は、後で個別に分析するために最終的に異なる csv ファイルになります。たとえば、このメガリストは次のようになります。
completeset1 = [['a', 'b'], ['a', 'd'], ['b', 'd'], ['b', 'f']]
completeset2 = [['r', 's'], ['t', 'r']]
...
グラフ理論のコンテキストでは、相互に排他的なサブグラフ (ペアの値が接続された頂点である) の巨大なグラフを取得し、それらをより管理しやすい独立したグラフに分割しようとしています。ご意見ありがとうございます。
編集 1: これにより、私は前進できる場所に置かれました。再度、感謝します!
import sys, csv
import networkx as nx
megalist = csv.reader(open('megalistfile.csv'), delimiter = '\t')
G = nx.Graph()
G.add_edges_from(megalist)
subgraphs = nx.connected_components(G)
output_file = open('subgraphs.txt','w')
for subgraph in subgraphs:
output_line = str(G.edges(subgraph)) + '\n'
output_file.write(output_line)
output_file.close()