Проверьте Arrayfire Array против NaNs
Я использую Arrayfire на Python и не могу использовать функцию af.sum(), так как в моем входном массиве есть NaN, и он возвращает NAN в виде суммы.
Использование numpy.nansum/numpy.nan_to_num не вариант из-за проблем со скоростью.
Мне просто нужен способ конвертировать эти NaN в нули с плавающей точкой в массиве.
2 ответа
Узкое место стоит изучить. Они выполнили несколько оптимизаций для функций numpy.nanxxx, что, по моему опыту, делает его примерно в 5 раз быстрее, чем numpy.
Вы можете использовать numpy.nansum, который лечит nan
как 0 в сумме массива.
numpy.nansum(arrayfire)