我有一个 numpy 数组,用于存储用户对电影的评分。评分介于 1 到 5 之间,0 表示用户没有对电影进行评分。我想计算每部电影的平均评分,以及每个用户的平均评分。换句话说,我将计算每列或每行非零元素的平均值。
是否有一个有效的 numpy 数组函数来处理这种情况?我知道按列或行手动迭代评级可以解决问题。
提前致谢!
由于要丢弃的值为 0,因此您可以通过沿轴求和然后除以非零元素的数量(沿同一轴)来手动计算平均值:
a = np.array([[8.,9,7,0], [0,0,5,6]])
a.sum(1)/(a != 0).sum(1)
结果是:
array([ 8. , 5.5])
正如您所看到的,平均值中不考虑零。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)