【发布时间】:2014-04-23 01:18:14
【问题描述】:
我正在处理一个小组项目,我们需要从我们正在处理的图表中的特定节点属性创建所有值的列表。每个节点有 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.bincount() 函数。
【问题讨论】: