利用numpy 计算信息量

在双评价的灾害评价中,需要计算信息量,下面是基于numpy和模拟数据,信息量计算过程。
两个矩阵 ab,每个矩阵中,矩阵中的0相当与空值(不参与计算)。
矩阵b表示空间地貌类型(b矩阵的值表示一个地貌类型),矩阵a表示某一灾害的空间分布(a矩阵中的值本身并不关注,关心的是a有值元素的数量)

1. 首先,计算ab空间范围的比例,即需要计算b区域中,存在a的比例(像元数量比)
通过numpy.sum( b!= 0)b[numpy.where(b!=0)].size,可以获取ba的非空像元数量

计算ab空间范围的比例

2. 计算b中每一个地貌类型的a灾害的比例,从而计算信息量
通过numpy.unique(b[numpy.where(b !=0)]),获取b中所有地貌类型

先通过循环,计算b中每一种地貌类型,存在a灾害的比例,并打印出来

在上面的基础上,修改代码,实现计算每种地貌类型的a灾害的信息量

3. b中每个地貌类型的a灾害信息量赋值
修改上面的代码,实现b中的每一个地貌类型的值为对应的a灾害的信息量

posted @   lqqgis  阅读(326)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示