Pau*_*nta 5 python indexing numpy
我有一个数组x,我想将一个函数f应用于矩阵中满足某些条件的每个项目.Numpy是否提供了一种简化机制的机制?
这是一个例子.我的矩阵x应该只包含独占范围内的元素(0, 1).但是,由于舍入误差,某些元素可能等于0或1.对于每一个元素x,这正是0我想补充epsilon并为每个正是元素1我想减去epsilon.
编辑:(这个编辑是在我接受了askewchan的回答后做出的.)另一种方法是使用numpy.clip.
你可以这样做:
a = np.array([0,.1,.5,1])
epsilon = 1e-5
a[a==0] += epsilon
a[a==1] += -epsilon
Run Code Online (Sandbox Code Playgroud)
这个工作的原因是a==0返回一个布尔数组,就像ВалераГорбунов在他们的答案中提到的那样:
In : a==0
Out: array([True, False, False, False], dtype=bool)
Run Code Online (Sandbox Code Playgroud)
然后你使用该数组作为索引a,它暴露元素,True而不是在哪里False.你可以用它做很多事情,参见http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html
| 归档时间: |
|
| 查看次数: |
1635 次 |
| 最近记录: |