python - NumPy 如何执行数组操作?
问题描述
这是一个非常普遍的问题,可以满足我多年来的好奇心。NumPy 是如何完成它对数组所做的操作的?它是如何工作的?
如果我做
import numpy as np
X = np.linspace(1, 10, 30000000)
for i in range(len(X)):
X[i] = X[i] + 1
代码将在 13.214 秒内完成。然而 NumPy 可以做到这一点
X = X + 1
# [Finished in 0.707s]
很明显,NumPy 不使用简单的循环来访问数组的每个元素来执行任何给定的操作。一个本身就是 Python 代码的 Python 包如何访问如此低级别的硬件?
我对较低级别的过程没有很好的理解,因此感谢简单/基本的解释。
解决方案
推荐阅读
- pine-script - 在同一个柱上进入并关闭导致错误未捕获的错误:值为空
- java - 有什么方法可以在 spring-data-elasticsearch 中使用“countBy”前缀和我的自定义查询?
- r - 在ggplot中隐藏特定的图例条目
- javascript - 禁用从 textarea 中跳出的选项卡
- git - 在 github 中“镜像仓库”和“导入仓库”有什么区别吗?
- ssl - 如何为多台计算机发布证书?
- python-3.x - 通过多键从数据框中查找值
- mirth - Mirth Connect 以编程方式将标题添加到 HL7 消息
- javascript - Vue Owl Carousel 在容器外渲染数据
- javascript - 显示数组项的html有序列表?