4

Pythonのグラフツールグラフに、csvファイルから有向加重グラフをロードしています。入力 csv ファイルの編成は次のとおりです。

1,2,300

2,4,432

3,89,1.24

...

行の最初の 2 つのエントリはエッジのソースとターゲットを識別し、3 番目の数字はエッジの重みです。

現在私は使用しています:

g = gt.Graph()
e_weight = g.new_edge_property("float")
csv_network = open (in_file_directory+ '/'+network_input, 'r')
csv_data_n = csv_network.readlines()
for line in csv_data_n:
    edge = line.replace('\r\n','')
    edge = edge.split(delimiter)
    e = g.add_edge(edge[0], edge[1])
    e_weight[e] = float(edge[2])

ただし、データのロードにはかなり時間がかかります (1,000 万ノードのネットワークがあり、約 45 分かかります)。g.add_edge_list を使用して高速化を試みましたが、これは重み付けされていないグラフでのみ機能します。それをより速くする方法はありますか?

4

2 に答える 2