无法弄清楚为什么numpy.log10输出nan?

时间:2016-02-05 14:57:56

标签: python numpy

所以我有一个500k的浮点值数组。当我想要:

> /[A-Z]\.[A-Z]\.[A-Z]\./g

270k的数​​字被替换为nan,而且它们并不是那么小。例如:

np.log10(my_long_array)

我错过了什么?

2 个答案:

答案 0 :(得分:6)

负数的对数未定义,因此nan

来自docs to numpy.log10

  

返回:y:ndarray

     

x的基数10的对数,以元素为单位。 返回NaNs,其中x为负数

答案 1 :(得分:3)

负数总是给出未定义的日志,

对数函数

y = logb(x)

是指数函数的反函数

x = b ^ y

由于基数b是正的(b> 0),对于任何实数y,升高到y的幂的基数b必须是正的(b ^ y> 0)。所以数字x必须是正数(x> 0)。

负数的实数b对数未定义。

对于x≤0

logb(x)未定义