首页 > 编程语言 >无涯教程-Python - 图形数据(Graph)

无涯教程-Python - 图形数据(Graph)

时间:2023-12-01 22:07:06浏览次数:47  
标签:dense Python Graph 无涯 sparse np inf data 节点

CSGraph代表压缩稀疏图,其重点是基于稀疏矩阵表示的快速图算法。

稀疏图

图只是节点的集合,节点之间具有链接,图几乎可以代表任何事物-社交网络连接,其中每个节点都是一个人,并与熟人相连;图像,其中每个节点是一个像素,并连接到相邻像素;高维分布中的点,其中每个节点都连接到其最近的邻居,并且几乎可以想象到其他任何内容。

举一个具体的示例,假设无涯教程想代表以下无向图-

Undirected Graph

此图包含三个节点,其中节点0和1通过权重2的边缘连接,节点0和2通过权重1的边缘连接,以下示例所示,请记住,无向图由对称矩阵表示。

G_dense = np.array([ [0, 2, 1],
                     [2, 0, 0],
                     [1, 0, 0] ])
                     
G_masked = np.ma.masked_values(G_dense, 0)
from scipy.sparse import csr_matrix

G_sparse = csr_matrix(G_dense)
print G_sparse.data

上面的程序将产生以下输出。

array([2, 1, 2, 1])
Undirected Graph Using Symmetric Matrix

这与前面的图相同,除了节点0和2通过零权重的边连接,在这种情况下,上面的密集表示会导致歧义-如果零是有意义的值,那么如何表示非边缘。在这种情况下,必须使用掩码表示或稀疏表示来消除歧义。

让无涯教程考虑以下示例。

from scipy.sparse.csgraph import csgraph_from_dense
G2_data = np.array
([
   [np.inf, 2, 0 ],
   [2, np.inf, np.inf],
   [0, np.inf, np.inf]
])
G2_sparse = csgraph_from_dense(G2_data, null_value=np.inf)
print G2_sparse.data

上面的程序将产生以下输出。

array([ 2., 0., 2., 0.])

参考链接

https://www.learnfk.com/python-data-science/python-graph-data.html

标签:dense,Python,Graph,无涯,sparse,np,inf,data,节点
From: https://blog.51cto.com/u_14033984/8648677

相关文章

  • python网站创建008:初始JavaScript
    JavaScript:是一门可以操作html标签的一门语言。可以实现类似“弹框”的功能 实现需求:假如我想在一个输入框内输入“helloworld”,点击某个按钮,然后在“弹框”上显示出“helloworld”,这该怎么做呢? 1.首先将“输入框”和“点击”按钮写出来,如下:<!DOCTYPEhtml><html><he......
  • 无涯教程-Python - 正态分布
    正态分布是通过排列数据中每个值的概率分布来呈现数据的形式,大多数值保持在平均值附近,从而使排列对称。无涯教程在numpy库中使用各种函数来数学计算正态分布的值。将创建直方图,在该直方图上绘制概率分布曲线。importmatplotlib.pyplotaspltimportnumpyasnpmu,sigma=0......
  • 无涯教程-Python - 中心趋势
    数学上的中心趋势是指测量数据集值的中心或位置分布,它给出了数据集中数据平均值的概念,并指出了这些值在数据集中分布的范围。反过来,这有助于评估将新输入拟合到现有数据集中的机会,从而评估成功的可能性。可以使用pandaspython库中的方法计算出集中趋势的三个主要量度。均值(Me......
  • 小市值选股策略代码分享(附python源码)
    小市值选股策略的核心在于通过综合分析公司的基本面、行业定位、财务健康状况以及市场趋势,来寻找那些被市场低估但具备显著成长潜力的股票,同时也要重视风险管理和投资组合的多样化。 今天来给大家分享下小市值策略代码如下:#显式导入BigQuant相关SDK模块frombigdatas......
  • 无涯教程-Python - 时间序列(Time)
    时间序列(TimeSeries)是一系列数据点,其中每个数据点都与时间戳关联,一个简单的示例是在给定的一天中,股票在不同时间点的价格,另一个示例是该地区一年中不同月份的降雨量。在下面的示例中,无涯教程以特定股票代码每天四分之一的股价价格为示例,将这些值捕获为一个csv文件,然后使用pan......
  • ESP32简单实现新版HC-SR04超声波模块(MicroPython+Thonny)
    一、新版HC-SR04简介新版HC-SR04,性能远超老版HC-SR04,US-015;在测距精度高于老版HC-SR04和US-015的情况下,测距范围更远,可达6米,远超一般超声波测距模块。采用CS-100A超声波测距SOC芯片,高性能,工业级,宽电压、低价格,成本击穿底价,只有普通超声波测距模块一半的价格,而性能远超普通超声波......
  • python循环与字符串
    循环与字符串循环for循环与范围defsumfromton(m,n):total=0forxinrange(m,n+1):#注意:range(x,y)是左闭右开区间,包含x,不包含ytotal+=xreturntotaldefsumfromton(m,n):returnsum(range(m,n+1))结果相同range(m,n,k)第一个参数m指起始范围第二个参数n指终......
  • 供应链安全情报 | 恶意py包伪装代理SDK进行后门攻击,目标锁定python开发者
    概述2023年11月28号,悬镜供应链安全实验室在Pypi官方仓库(https://pypi.org)监测到两起伪装成http和socks5代理SDK的开源组件投毒事件。python开发者一旦下载安装这些投毒Py包(libproxy、libsocks5),会触发执行Py包中的恶意代码,最终将导致开发者系统被投毒者植入恶意后门。这些恶意Py......
  • python开发之个微机器人的二次开发
    简要描述:登录E云平台请求URL:http://域名地址/member/login域名地址+开发者账号密码:后台系统自助开通请求方式:POST请求头Headers:Content-Type:application/json参数:参数名必选类型说明account是string开发者账号password是string开发者密码返......
  • python开发之个微机器人开发
    简要描述:取消消息接收请求URL:http://域名地址/cancelHttpCallbackUrl请求方式:POST请求头Headers:Authorization:login接口返回Content-Type:application/json无参数返回数据:参数名类型说明codestring1000成功,1001失败msgstring反馈信息成功返回示例{"message":"成功","code......