Попытка найти среднее в столбце, который содержит np.nan. Возникают проблемы только с получением значений с плавающей точкой - PullRequest
1 голос
/ 18 апреля 2019

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

1 Ответ

1 голос
/ 18 апреля 2019

Используйте numpy.nanmean с astype(float):

import numpy as np

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

Выход:

1.5
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...