我有一个关于 numpy.where
的问题。除了条件之外,np.where
的参数还需要 x 和 y。
- x:当条件为真时,会产生 x。
- y:在不满足条件的情况下生成/使用 y。
相关代码部分可能如下所示:
BypassZero = np.where(f > 0.00000000000001, f, -8.5)
我的问题是:是否可以告诉 np.where
y 应该使用“nothing”而不是 -8.5?示例:如果条件是仅使用高于 0.00000000000001 的值(如上面的代码所示),并且一行(多个值)中的一个数值不满足此条件,则 np.where 应忽略此步骤并直接跳转到该行中的下一个数值,而不是使用 -8.5。
最佳答案
编辑:在对我的原始答案的评论提出一些建议以及OP的澄清之后,任务是选择那些满足条件且不包含其他值的值。
例如如果我想选择所有偶数并排除所有奇数,我会这样做:
import numpy as np
x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
evens = x[x % 2 == 0] # select even numbers only
print(evens)
输出:
[ 2 4 6 8 10]
就您而言:
result = f[f > 0.00000000000001]
正如 Timus 指出的,np.where 根本没有必要。
关于python - 如果不满足条件,如何不产生任何结果,而不是使用 np.where 进行替代?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70198422/