首页 > 解决方案 > 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 包如何访问如此低级别的硬件?

我对较低级别的过程没有很好的理解,因此感谢简单/基本的解释。

标签: pythonnumpy

解决方案


推荐阅读