您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

5b51 2022/1/14 8:23:20 python 字数 1042 阅读 576 来源 www.jb51.cc/python

也许这不是什么大不了的事,但是这让我心碎: 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 对于这个特殊的例子……有更好的方法来做清洁部分吗? 问

概述

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

总结

以上是编程之家为你收集整理的python – 我可以在没有循环的情况下清理一个numpy数组吗?全部内容,希望文章能够帮你解决python – 我可以在没有循环的情况下清理一个numpy数组吗?所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶