将 numpy 数组转换为符号数组,其中 0 为正数

CSf*_*eer 3 python numpy

我有一个很大的 numpy 数组,其中包含正数据、负数据和 0。我想将其转换为带有当前值符号的数组,以便 0 被视为正数。如果我使用numpy.sign它,如果当前值为 0,则返回 0,但我想要返回 1 的值。是否有捷径可寻?

War*_*ser 5

如果x是数组,则可以使用2*(x >= 0) - 1.

x >= 0将是一个布尔值数组(即FalseTrue),但是当您用它进行算术时,它实际上被转换为 0 和 1 的数组。

你也可以这样做np.sign(x) + (x == 0)。(请注意,即使是整数数组np.sign(x),也会返回浮点值。)x