相关疑难解决方法(0)

如果numpy数组元素高于特定阈值,则将其设置为零

说,我有一个由10元素组成的numpy数组,例如:

a = np.array([2, 23, 15, 7, 9, 11, 17, 19, 5, 3])

现在我想有效地设置所有a值高于10对0,所以我会得到:

[2, 0, 0, 7, 9, 0, 0, 0, 5, 3]

因为我目前使用for循环,这非常慢:

# Zero values below "threshold value".
def flat_values(sig, tv):
    """
    :param sig: signal.
    :param tv: threshold value.
    :return:
    """
    for i in np.arange(np.size(sig)):
        if sig[i] < tv:
            sig[i] = 0
    return sig
Run Code Online (Sandbox Code Playgroud)

我怎样才能以最有效的方式实现这一目标,同时考虑到10^6元素的大数组?

python arrays numpy

34
推荐指数
3
解决办法
6万
查看次数

标签 统计

arrays ×1

numpy ×1

python ×1