如何使用Python从NetworkX中的特定节点属性获取值

2024-07-01 07:12:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在处理一个组项目,我们需要创建一个列表,其中包含我们正在处理的图中特定节点属性的所有值。每个节点有6个属性,我们只需要一个属性的所有值的列表。在

import networkx as nx
import scipy as sp
import matplotlib.pyplot as plt
%matplotlib inline 
import urllib

url = "http://josquin.cti.depaul.edu/~rburke/courses/s14/fmh.graphml"
sock = urllib.urlopen(url)  # open URL
fmh = nx.read_graphml(sock)

for i in fmh:
    if fmh.node[i]['Race'] == 'Asian':
        fmh.add_node(i, RaceN=0)
    elif fmh.node[i]['Race'] == 'Black':
        fmh.add_node(i, RaceN=1)
    elif fmh.node[i]['Race'] == 'Hisp':
        fmh.add_node(i, RaceN=2)
    elif fmh.node[i]['Race'] == 'NatAm':
        fmh.add_node(i, RaceN=3)
    elif fmh.node[i]['Race'] == 'Other':
        fmh.add_node(i, RaceN=4)
    elif fmh.node[i]['Race'] == 'White':
        fmh.add_node(i, RaceN=5)

for i in fmh:
    if fmh.node[i]['Sex'] == 'F':
        fmh.add_node(i, SexN=0)
    elif fmh.node[i]['Sex'] == 'M':
        fmh.add_node(i, SexN=1)

我认为这是所有相关的。预加载的数据有5个属性,我们添加了第6个属性,我们只想能够获取特定属性的值,比如说列出RaceN属性的所有值。在

我们有一个整数的列表,我们可以称之为sp.bin计数()功能打开。在


Tags: importaddnode列表属性节点matplotlibas
1条回答
网友
1楼 · 发布于 2024-07-01 07:12:02

如果没有更多信息,你的代码将无法运行。我想你想要的是函数networkx.get_node_属性():

In [1]: import networkx as nx

In [2]: G = nx.Graph()

In [3]: G.add_node(1,profit=17)

In [4]: G.add_node(2,profit=42)

In [5]: a = nx.get_node_attributes(G,'profit')

In [6]: a.items()
Out[6]: [(1, 17), (2, 42)]

相关问题 更多 >

    热门问题