首页 > 解决方案 > python不允许将浮点数分配给nan值

问题描述

我试图找到平均值,但忽略了将为零的值。但是遇到问题'float' object does not support item assignment.

这是我的代码

        for i in range(len(rvector)):
                c+= l1[i]*l2[i]
        cosine = c / float((sum(l1)*sum(l2))**0.5)
        cosine[cosine == 0] = np.nan
        print("similarity: ", cosine)
        mean = np.nanmean(cosine, axis=0)
        print("Mean: ", mean)

有人可以帮我纠正它并编写正确的代码。

标签: pythonpython-3.xnumpy

解决方案


在这里cosine = c / float((sum(l1)*sum(l2))**0.5),您float为变量赋值cosine。在这里,cosine[cosine == 0] = np.nan您试图cosine通过键为它分配一个值,就好像它是一个字典一样。


推荐阅读