np.nanstd возвращает значение в python - PullRequest
0 голосов
/ 08 апреля 2020

Я хотел бы рассчитать стандартное отклонение np.array, используя np.nanstd, но оно возвращает inf вместо фактического значения. мой массив numpy выглядит

[[1.19665046e-311 1.19665144e-311 nan ... 2.29685654e+049 4.98919540e+228]
 [2.00798195e+165  8.02088921e+035 ... nan nan 1.10386271e+031]
..]

И значение, которое возвращает его после вычисления np.nanstd, равно

[inf inf inf inf inf inf inf inf inf 
inf inf inf inf inf inf inf inf inf
 inf inf inf inf]

Почему оно дает значение inf и как я могу получить фактическое значение

1 Ответ

0 голосов
/ 08 апреля 2020

На первый взгляд, некоторые значения в вашем массиве слишком велики. Возьмите 4.98919540e+228 например. Стандартное отклонение рассчитывается как root(sum(square(x-x_mean))/N), так что вы вычисляете квадрат e + 228, что на e + 456 - больше, чем может обработать python. Он будет отображать inf, если вы не введете меньшие значения, например ниже e + 150.

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