我可以在没有循环的情况下清理 numpy 数组吗?

2024-04-25

也许没什么大不了的,但遵循以下内容让我心碎:

deltas = data[1:] - data[:-1]

有了这个:

for i in range(len(deltas)):
        if deltas[i] < 0: deltas[i] = 0
        if deltas[i] > 100: deltas[i] = 0

对于这个特殊的例子......有没有更好的方法来完成清洁部分?

问题第二部分:如果清理规则比这个例子更复杂或更简单怎么办?例如,我们可能只想将所有负数更改为零。或者,我们可能正在做一个更复杂的映射。


import numpy as np
deltas=np.diff(data)
deltas[deltas<0]=0
deltas[deltas>100]=0

也是可以的,而且速度更快一点

deltas[(deltas<0) | (deltas>100)]=0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以在没有循环的情况下清理 numpy 数组吗? 的相关文章

随机推荐