python numpy 随机构建类无向图邻接矩阵
不能保证能各个节点之间能完全走通,只是记录一下。
import numpy as npdef structMatrix(n=11, low=1, high=10, num_base=10, num_more=10):"""构建无向图邻接矩阵:param n: 矩阵是 n x n 状的:param low: 矩阵中每个位置数值的大小下限:param high: 矩阵中每个位置数值的大小上限:param num_base:要替换的数量下限:param num_more:要替换的数量增加值(下限 + 增加值 = 上限,下限 + 增加值*random = 要替换的数量确定值):return:"""# k = np.random.rand()X_ = np.random.randint(low=low,high=high,size=n**2).reshape(n,n).astype(float) # 先造一个n*n的浮点矩阵(整数型矩阵无法放np.inf)# 在行索引中随机选择num_base到num_base+num_more个(如10到10+10个)用于后面替换成np.inf(因为可能有大量重复,所以你可以设的base和more都可以大些)index_0 = np.random.choice(X_.shape[0], int(num_base + num_more * np.random.rand()))print(f"index_0={index_0}")# 在列索引中随机选择num_base到num_base+num_more个(如10到10+10个)用于后面替换成np.inf(因为可能有大量重复,所以你可以设的base和more都可以大些)index_1 = np.random.choice(X_.shape[1], int(num_base + num_more * np.random.rand()))print(f"index_1={index_1}")# 将行列索引组合起来,每次根据一个行坐标和一个列坐标确定一个坐标,对应元素设置为np.infprint("下面是初次选中的坐标:")for (i,j) in list(zip(index_0, index_1)):print((i,j))# 如果在对角线上就不替换了,因为对角线上应该是0的(或者你可以设置1e-4这种很小的数,这取决于你的程序)if i == j:continueX_[i,j] = np.infX_ = np.triu(X_) # 得到原X的上三角矩阵(含对角线),下三角清零X_ += X_.T - 2*np.diag(X_.diagonal()) # X.diagonal()提取对角线,np.diag()构造对角线矩阵,再减去该2倍对角线矩阵得对角线为0的矩阵return X_print(f"结果矩阵:\n{structMatrix()}")
python numpy 随机构建类无向图邻接矩阵相关推荐
- python/numpy随机选取训练集/测试集索引
在训练模型中, 往往需要对数据集进行处理,从数据集中随机选取部分数据作为训练集,而另一部分数据作为测试集,一个常用的方法是随机选取索引,下面介绍两种从0~n中随机选取x个不重复索引的方法. 注意下述两 ...
- python 构建类_使用Python中的类构建餐厅菜单
python 构建类 Here, we try to use class in python to build a Menu for the restaurant. The Menu will con ...
- 【python】用numpy随机生成一元(多元)数据;如线性、指数、三角函数,或者多种样式结合
用numpy随机生成一元(多元)数据:如线性.指数.三角函数,或者多种样式结合 题目 代码 结果 随机数 题目 1.用numpy随机生成一元(多元)数据:如线性.指数.三角函数,或者多种样式结合: 2 ...
- dataframe,python,numpy 问题索引1
# 找出只有赌场数据的账户 gp=data.groupby(['查询账号','场景标签'],as_index=True) tj=gp.size().reset_index()按查询账号和场景标签分组并 ...
- [转载] python numpy 总结
参考链接: Python中的numpy.compress 先决条件 在阅读这个教程之前,你多少需要知道点python.如果你想重新回忆下,请看看Python Tutorial. 如果你想要运行教程中的 ...
- python --Numpy详解(科学计算)
安装 pip install numpy 什么是Numpy:Numeric Python NumPy系统是Python的一种开源的数值计算扩展 一个强大的N维数组对象Array 比较成熟的(广播)函数 ...
- 初学--Python numpy教程
本文转载自:http://blog.chinaunix.net/uid-21633169-id-4408596.html 先决条件 在阅读这个教程之前,你多少需要知道点python.如果你想重新回忆下 ...
- gbdt 算法比随机森林容易_用Python实现随机森林算法
CDA数据分析师 出品 拥有高方差使得决策树(secision tress)在处理特定训练数据集时其结果显得相对脆弱.bagging(bootstrap aggregating 的缩写)算法从训练数据 ...
- python 矩阵获取行数_4个最佳项目创意的代码片段和示例,旨在为Python和机器学习构建出色的简历!...
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 一篇文章带你了解4个最佳项目创意的代码片段和示例 Python是一 ...
最新文章
- 安装python步骤-小白入门:Python安装的10个步骤,极其细致!!
- 1019 数字黑洞 (20 分)(c语言)
- 左神算法:单调栈结构(Java版)
- java php python 高并发_关于php如何调用Python快速发送高并发邮件的示例代码
- 毕业二十年,为什么人和人之间的差距那么大?
- GCD简介一:基本概念和Dispatch Queue
- 作者:贵芳(1991-),女,合肥工业大学计算机与信息学院硕士生
- 90亿拿下德邦 京东物流加速“造血”
- 初探Openstack Neutron DVR
- row_number()over函数的使用(转)
- 我Python采集了新榜热门内容,原来这就是别人能成为自媒体大佬的秘密!
- web控制串口.html,[转]web串口调试助手,浏览器控制串口设备
- Guacamole-HTML5无客户端远程桌面
- 计算器单片机c语言代码,51单片机c语言计算器代码.doc
- Android电话本实现
- macos安装盘第三方工具制作_制作 macOS Mojave U盘USB启动安装盘方法教程 (全新安装 Mac 系统)...
- android 添加前景色
- 产品可靠性1——多层电路板应不应该在顶层和底层铺铜
- 鸿蒙系统投影仪,投影仪有系统和无系统的区别 当贝OS好在哪里?体验完明白了!...
- phpstudy php+apache 环境PHP多版本环境配置