【发布时间】:2015-03-19 04:13:40
【问题描述】:
我可以使用numpy 对我的程序中的一些操作进行相当多的优化。当我分析一次跑步时,我注意到大部分时间都花在了numpy.nan_to_num。我想进一步改进这一点。
发生的计算类型是两个数组的乘法,其中一个数组可以包含nan 值。我希望这些被视为零,但我不能用零初始化数组,因为nan 稍后有含义并且不能设置为0。有没有一种方法可以进行乘法(和加法)与nan 被视为零?
从nan_to_num 文档字符串中,我可以看到生成了一个新数组,这可以解释为什么需要这么长时间。
将 nan 替换为 0,将 inf 替换为有限数。
返回一个数组或标量,将非数字 (NaN) 替换为零,...
像nansum 这样用于任意算术运算的函数会很棒。
【问题讨论】: