gpt4 book ai didi

python - 如何仅将函数应用于某些数组元素?

转载 作者:太空狗 更新时间:2023-10-30 00:28:22 25 4
gpt4 key购买 nike

我有一个数组 x,我想将函数 f 应用于矩阵中满足某些条件的每个项目。 Numpy 是否提供一种机制来简化此操作?

这是一个例子。我的矩阵 x 应该只包含排他范围 (0, 1) 中的元素。但是,由于舍入误差,某些元素可能等于 01。对于 x 中恰好为 0 的每个元素,我想添加 epsilon 并为恰好为 1 的每个元素添加我想减去 epsilon

编辑:(此编辑是在我接受 askewchan's answer 之后进行的。)另一种方法是使用 numpy.clip。 .

最佳答案

你可以这样做:

a = np.array([0,.1,.5,1])
epsilon = 1e-5
a[a==0] += epsilon
a[a==1] += -epsilon

这样做的原因是 a==0 返回一个 bool 数组,就像 Валера Горбунов 一样在他们的回答中提到:

In : a==0
Out: array([True, False, False, False], dtype=bool)

然后您将该数组用作 a 的索引,它公开了 True 而不是 False 的元素。您可以用它做很多事情,请参阅 http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html

关于python - 如何仅将函数应用于某些数组元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15303043/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com