python - 如何删除 python-igraph 中的边缘属性

标签 python python-3.x igraph

我想从 python-igraph 中的图形对象中删除边属性。等效的 igraph R 函数巧妙地称为 delete_edge_attr .我没能在 Python 中找到等效的函数/方法...有吗?

如果不行,还有别的办法吗? (我尝试了一个简单的 g.es['edge_attr']= [] 但这没有用)。

示例代码

g = ig.Graph.Tree(10, 2)        #Generate random graph
g_betweenness = g.betweenness() #Calculate betweenness for graph
g['betweenness'] = betweenness  #Assign betweenness as edge attribute
print(g.attributes())
g['betweenness'] = []           #Attempt to remove betweenness edge attribute (incorrect)
print(g.attributes())

输出

['betweenness']
['betweenness']

期望的输出

['betweenness']
[]

最佳答案

您可能无法将其设置为空数组,但您关于直接更改 EdgeSequence 的直觉已经很不错了。您可以简单地使用 Python 的内部 del() 删除参数,我在下面提供了一个最小示例:

import igraph
# minimal graph
G = igraph.Graph()
G.add_vertices(2)
G.add_edge(0,1)

# add your property
G.es['betweenness'] = [1]

# print edge attribute (note the difference to your example)
print(G.es.attribute_names())
# output: ['weight']

# delete argument
del(G.es['weight'])

# print again
print(G.es.attribute_names())
# output: []

关于python - 如何删除 python-igraph 中的边缘属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55291777/

相关文章:

python - import 是否在路径之前先查找当前工作目录?或者cwd的路径?

Python在postgresql表中查找带有单引号的字符串

javascript - 在 D3.js 中预先计算和设置节点的初始位置

python - 日期时间图表的 gnuplot-py 错误

python - 如何将 datetime.time 从 UTC 转换为不同的时区?

python - 如何将字节数组的内容复制到列表 (Python)?

菱形 igraph 节点

python - 在 elementtree 中使用 SimpleXMLTreeBuilder

python - Pygame菜单: calling another . py文件

python - 阅读 igraph 中的 Disconected Graph for python