python - 如何计算训练相似度矩阵的加权平均值
问题描述
我有一个像这样的三角形相似矩阵。
[[3, 1, 2, 0],
[1, 3, 0, 0],
[1, 0, 0, 0],
[0, 0, 0, 0]]
如何在丢弃零元素的同时计算每行的加权平均值?
解决方案
您可以沿第二个轴添加,然后除以sum
每行非零值的数量。然后使用where
innp.divide
你可以在满足条件的地方进行划分,通过将其设置为指定非零值在哪里的掩码,可以防止除以零错误:
a = np.array([[3, 1, 2, 0],
[1, 3, 0, 0],
[1, 0, 0, 0],
[0, 0, 0, 0]])
m = (a!=0).sum(1)
np.divide(a.sum(1), m, where=m!=0)
# array([2., 2., 1., 0.])
推荐阅读
- go - 文件不是 `goimports`-ed 与 -local somePath
- android - 如何仅以 10% 的增量调用 NotificationManager
- wordpress - 如何将动画 gif 作为特色图像添加到 woocommerce 产品中?
- r - R 数据框 - 全部转换
为空白(“”)字符列 - python - 有没有办法按两个元素对两个元素元组的列表进行排序,但其中一个元素是反向排序的?
- javascript - Discord.js 数据库从 .txt 发送同一行
- neo4j - 带有时区的neo4j日期时间格式
- python - 如何在Python中对每一行Dataframe运行一个函数
- python - 将数据拆分为每 10 个实例并与新数据框连接
- java - 我的 Java .html 文件生成器出了什么问题