python - 试图在包含 np.nan 的列中找到平均值。仅获取浮点值时遇到问题
问题描述
testcolumn 填充了数字字符串和 np.nan 值。我试图只找到数值的平均值。该代码不会过滤掉 np.nan 值,所以我没有得到正确的值。
columnCount = 0
columnMean = 0.0
for x in testcolumn:
if x != np.nan:
print(x)
columnMean = float(x) + columnMean
columnCount = columnCount + 1
columnMean = columnMean/columnCount
解决方案
numpy.nanmean
与 一起使用astype(float)
:
import numpy as np
arr = np.array(['1','2',np.nan])
np.nanmean(arr.astype(float))
输出:
1.5
推荐阅读
- datatable - 如何使用 vuetify 组合表格标题中的单元格?
- swift - 使用 RXSwift Single Trait 调用中的额外参数“onError”
- python - 通过 python 恢复 SQL Server 备份启动但未完成
- python - Selenium 服务器和 Geckodriver 不在同一个端口上运行
- apache-nifi - 如何在 Nifi ExecuteSQL 处理器中使用参数?
- c++ - 默认情况下,类应该是最终的吗?
- reporting-services - 尝试在 SSRS 中选择 DateTime 的子字符串时,AM/PM 显示为 A3/P3?
- php - 如何下载带有源代码的php文件?
- r - 似乎无法调整箱线图宽度
- git - 使用“git subtree split”时缺少提交