小编Fin*_*ent的帖子

numpy数组在两个值之间设置,快速

一直在寻找这个问题的解决方案一段时间但似乎找不到任何东西.

例如,我有一个numpy数组

[ 0,  0,  2,  3,  2,  4,  3,  4,  0,  0, -2, -1, -4, -2, -1, -3, -4,  0,  2,  3, -2, -1,  0]
Run Code Online (Sandbox Code Playgroud)

我想要实现的是生成另一个数组来指示一对数字之间的元素,比如说在2和-2之间.所以我想得到一个像这样的数组

[ 0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  0,  0]
Run Code Online (Sandbox Code Playgroud)

注意一对(2,-2)之间的任何2或-2都被忽略.任何简单的方法是使用for循环迭代每个元素并识别第一次出现的2并将之后的所有内容设置为1,直到你达到-2并再次开始寻找下一个2.

但我希望这个过程更快,因为我在一个numpy数组中有超过1000个元素.这个过程需要做很多次.你们知道解决这个问题的优雅方法吗?提前致谢!

python arrays performance numpy

12
推荐指数
1
解决办法
357
查看次数

标签 统计

arrays ×1

numpy ×1

performance ×1

python ×1