python - 通过python生成具有幂律度分布的无标度网络
问题描述
我编写此代码以生成具有幂律度分布的无标度网络。
import networkx as nx
import random
N = 1000
exponent = 2.2
test = [int(random.paretovariate(exponent-1)) for i in range(N)]
graph = nx.configuration_model(test)
print("number of self-loops : ", graph.number_of_selfloops())
但我面临这个错误:
AttributeError:“MultiGraph”对象没有属性“number_of_selfloops”
我不明白问题是什么,我该如何解决。有没有其他方法可以用networkX生成这样的网络?(我不希望删除自循环和多链接)
解决方案
如该函数的文档中所述,configuration_model
该函数返回 a MultiGraph
,它没有 method number_of_selfloops
,但您仍然可以使用该nx.number_of_selfloops
方法,该方法也适用于MultiGraph
(NetworkX 更改了他们希望如何调用此类方法)或简单地创建一个常用图与non_multi_graph = nx.Graph(graph)
.
推荐阅读
- testing - 沙盒环境测试给出 DUPLICATE_TRANSACTION 错误
- python - 将熊猫数据框写入一个excel文件
- ruby-on-rails - 添加 if 语句后 nil:NilClass 的未定义方法 `[]'
- windows - 使用 Windows Powershell 打开浏览器
- android - 无法安装 HAXM(Android Studio、AMD 处理器)
- android - 如何在 PageViewAdapter 中更新 ItemListAdapter?
- python - 是否可以导出具有可变输入大小的张量流模型?
- javascript - Firebase 更新数据,但几秒钟后将其更改回原始“angularFire”
- perl - perl 文件::查找和_
- node.js - Node JS 包安装时出现错误