首页 > 解决方案 > 试图在包含 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

标签: pythonpandasnumpy

解决方案


numpy.nanmean与 一起使用astype(float)

import numpy as np

arr = np.array(['1','2',np.nan])
np.nanmean(arr.astype(float))

输出:

1.5

推荐阅读