python - 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)
有人可以帮我纠正它并编写正确的代码。
解决方案
在这里cosine = c / float((sum(l1)*sum(l2))**0.5)
,您float
为变量赋值cosine
。在这里,cosine[cosine == 0] = np.nan
您试图cosine
通过键为它分配一个值,就好像它是一个字典一样。
推荐阅读
- vb.net - 后台取消事件表单关闭错误
- javascript - 哪种数据结构最适合这项任务?
- string - MIPS 运行时异常和地址超出范围
- bash - 使用 find 和 xargs 时从 ffmpeg 重命名输出文件名
- gatsby - 在路线之间导航时如何防止 gatsby 布局重新渲染?
- ruby-on-rails - 为什么 simple_form 使用嵌套资源引发“无路由匹配 [POST]“/tenants””错误
- android - 当我单击任何按钮时,应用程序将崩溃
- powershell - 使用 Powershell 脚本将文件复制到 CSV 文件中声明的特定文件夹
- javascript - Highcharts-Vue 图表选项设置后不改变值
- sql - 查询以从 Athena 中的两个表中获取基于日期的行