来自现有节点的 networkx 中的网络生成器
Network Generator in networkx from existing nodes
我正在尝试在 networkx 中生成一个社交网络。为此,我想使用 barabasi_albert_graph 网络生成器。我希望能够在 pandas 中单独生成节点,这样我就可以给它们特定的属性,然后让生成器根据优先连接创建边。这可能吗?
生成器的文档只是解释了如何像这样基于节点和边的数量生成
G = nx.barabasi_albert_graph(600, 2, seed=None)
from_pandas_dataframe 的文档仅展示了如何从边缘已经如此的数据框创建图形
G =nx.from_pandas_dataframe(df2, 'nodes', 'edges', ['attributes'])
比 "this code doesnt work" 更探索性的方式,我需要类似
的东西
G = nx.barabasi_albert_graph.from_pandas_dataframe()
这样做的目的是生成组织通信网络模型。我需要节点具有层次结构的属性(部门、职位、薪水),但要使用优先连接创建边。
好的,我想我知道你想要什么。
首先,我认为没有像 nx.barabasi_albert_graph.from_pandas_dataframe()
这样的函数,因为它只是一个简单的生成器,用于满足某些特殊需要。
如果您真的想这样做,我建议您可以使用 networx 的 API 将属性添加到生成的图形中。 (还有一些你应该知道的注意事项。nx.from_pandas_dataframe
在最新的networkx版本中已经过时了。)
喜欢
G.nodes[1]['room'] = 714
从barabasi_albert_graph
的源代码来看,它也只是随机生成一个节点列表并在优先附件之后附加一些边。
如果您对如何将数据帧中的属性添加到现有图表方面仍有一些问题,您可以在此答案下发表评论。
我正在尝试在 networkx 中生成一个社交网络。为此,我想使用 barabasi_albert_graph 网络生成器。我希望能够在 pandas 中单独生成节点,这样我就可以给它们特定的属性,然后让生成器根据优先连接创建边。这可能吗?
生成器的文档只是解释了如何像这样基于节点和边的数量生成
G = nx.barabasi_albert_graph(600, 2, seed=None)
from_pandas_dataframe 的文档仅展示了如何从边缘已经如此的数据框创建图形
G =nx.from_pandas_dataframe(df2, 'nodes', 'edges', ['attributes'])
比 "this code doesnt work" 更探索性的方式,我需要类似
的东西G = nx.barabasi_albert_graph.from_pandas_dataframe()
这样做的目的是生成组织通信网络模型。我需要节点具有层次结构的属性(部门、职位、薪水),但要使用优先连接创建边。
好的,我想我知道你想要什么。
首先,我认为没有像 nx.barabasi_albert_graph.from_pandas_dataframe()
这样的函数,因为它只是一个简单的生成器,用于满足某些特殊需要。
如果您真的想这样做,我建议您可以使用 networx 的 API 将属性添加到生成的图形中。 (还有一些你应该知道的注意事项。nx.from_pandas_dataframe
在最新的networkx版本中已经过时了。)
喜欢
G.nodes[1]['room'] = 714
从barabasi_albert_graph
的源代码来看,它也只是随机生成一个节点列表并在优先附件之后附加一些边。
如果您对如何将数据帧中的属性添加到现有图表方面仍有一些问题,您可以在此答案下发表评论。