gpt4 book ai didi

python图形工具加载csv文件

转载 作者:太空狗 更新时间:2023-10-30 02:59:41 24 4
gpt4 key购买 nike

我正在将有向加权图从 csv 文件加载到 python 中的图形工具图形中。输入 csv 文件的组织是:

1,2,300

2,4,432

3,89,1.24

...

一行的前两个条目标识边的源和目标,第三个数字是边的权重。

目前我正在使用:

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])

但是加载数据需要很长时间(我有 1000 万个节点的网络,大约需要 45 分钟)。我试图通过使用 g.add_edge_list 使其更快,但这仅适用于未加权的图形。有什么建议可以让它更快吗?

最佳答案

这已经在 graph-tool 的邮件列表中得到了回答:

http://lists.skewed.de/pipermail/graph-tool/2015-June/002043.html

简而言之,你应该像你说的那样使用函数g.add_edge_list(),并且把权重分开通过属性映射的数组接口(interface):

e_weight.a = weight_list

权重列表应该与您传递给的边具有相同的顺序g.add_edge_list().

关于python图形工具加载csv文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31087857/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com