Как сложить NaN в NumPy? - PullRequest
       3

Как сложить NaN в NumPy?

0 голосов
/ 30 апреля 2018

Я должен сложить два значения, полученные np.average как

for i in x :
    a1 = np.average(function1(i))
    a2 = np.average(function2(i))
    plt.plot(i, a1+a2, 'o')

Но np.average может вернуть NaN. Затем будут рассчитываться только точки, для которых доступны и a1, и a2.

Как я могу использовать ноль вместо NaN, чтобы сделать сумму для всех точек?

Я пытался найти функцию в numpy для этого, но numpy.nan_to_num для массивов.

Ответы [ 2 ]

0 голосов
/ 05 мая 2018

Вы можете использовать numpy так:

import numpy as np

a = [1, 2, np.nan]
a_sum = np.nansum(a)
a_mean = np.nanmean(a)

print('a = ', a) # [1, 2, nan]
print("a_sum = {}".format(a_sum)) # 3.0
print("a_mean = {}".format(a_mean)) # 1.5
0 голосов
/ 30 апреля 2018

Вы также можете использовать:

clean_x = x[~np.isnan(x)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...