微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python基于另一个数组中的值快速执行数组操作

如何解决Python基于另一个数组中的值快速执行数组操作

我已经使用 2 个带有循环的 python 字典对象设置了这段代码,但是我的代码需要运行得更快,因此我正在查看 numpy 数组,因为我读到它们可以比字典更快地运行,尤其是对于所有数值。

基本上我拥有的是 2 个数据数组。

一个数组包含变量。这些变量是从 websocket 服务中提取的,并且不断更新。每行代表 1 个参数的 2 个值。不会添加任何值,所有值都在不断更新。

VariablesArray (this array is about 70 rows,2 columns).
[
1.5    0.1
8      9
4      3
27     6
...
]

(理论上这也可能只是一个包含 70 个变量的一维数组)

第二个数组需要是某种类型的完全静态数组,其中包含需要在这些变量上完成和验证的引用操作

OperationsArray (this array is about 1000 rows,1 column)
[
VariablesArray[1,1] * VariablesArray[2,1] * VariablesArray [3,0]
VariablesArray[1,0] * VariablesArray[2,0] * VariablesArray [3,1]
VariablesArray[1,0] * VariablesArray[5,0] * VariablesArray [2,1]
...
]

每次变量更改时,都会检查此计算列表,最好仅检查包含此更新变量的行,但为了简化此问题,我们或许可以重新计算所有内容

如果这些乘法中的任何一个返回的结果高于 100,我需要采取行动并触发一些警报代码

如果我将这两个数组都放在字典对象中并在 python 中循环遍历,我可以每毫秒进行 7 次“OperationsArray”计算。由于一些变量在几百个计算行中被引用,这些变量的任何更新都需要长达 100 毫秒来计算警报,这太长了。

现在我想知道获得最快结果的最佳方法是什么。我对 python 和编码真的很陌生,也许这就像在这两个数组中添加上面指定的这些变量一样简单,然后遍历第二个数组以查看是否有大于 100 的值?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。