Python 图形工具:如何访问“添加边”列表返回的顶点值属性映射?

Python 图形工具:如何访问“添加边”列表返回的顶点值属性映射?,python,graph-tool,Python,Graph Tool,我正在尝试开始使用图形工具进行公司分析,作为networkx更高性能的替代品。 我已经设法弄明白了很多事情(绘图、获取中心、学位等),但有一件事我无法弄明白。如何访问通过“添加边”列表加载的原始顶点值?我需要这种能力,以便按值查找特定顶点,例如查找其连接的组件或其他结构 根据: (可选)如果hashed==True,则不会假定边列表中的顶点值直接对应于顶点索引。在这种情况下,它们将根据遇到它们的顺序映射到顶点索引,并返回带有顶点值的顶点属性映射 我的目标是将CSV加载到pandas数据框中,对数

我正在尝试开始使用图形工具进行公司分析,作为networkx更高性能的替代品。 我已经设法弄明白了很多事情(绘图、获取中心、学位等),但有一件事我无法弄明白。如何访问通过“添加边”列表加载的原始顶点值?我需要这种能力,以便按值查找特定顶点,例如查找其连接的组件或其他结构

根据:

(可选)如果hashed==True,则不会假定边列表中的顶点值直接对应于顶点索引。在这种情况下,它们将根据遇到它们的顺序映射到顶点索引,并返回带有顶点值的顶点属性映射

我的目标是将CSV加载到pandas数据框中,对数据框执行一些操作以使其成为边缘列表格式,然后将其加载到图形中。 以下是我目前的代码:

import graph_tool as gt
import pandas as pd
df = pd.read_csv('data/2019-data.csv')
G = gt.Graph(directed=False)
props = G.add_edge_list(df[['vertex1', 'vertex2']].values, hashed=True)
这可以很好地填充图形,但道具返回为空

len(G.get_vertices())
  183298

len(props.a)
  Traceback (most recent call last):
    File "<input>", line 1, in <module>
  TypeError: object of type 'NoneType' has no len()
len(G.获取顶点()
183298
莱恩(道具a)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
TypeError:类型为“NoneType”的对象没有len()
有人知道这是怎么回事吗

我在图形工具2.29上的Python3.7虚拟环境中运行这个

注意:有一个类似的问题,但公认的答案对我不适用

谢谢

解决了!根据,您可以像列表一样通过顶点id为prop变量编制索引,甚至可以创建映射dict以进行快速查找

e、 g

mapping_dict={props[i]:i代表范围内的i(G.num_顶点())}

虽然我不完全理解为什么
props.a
不返回任何内容,因为它是一个VertexPropertyMap