使用向量化 -- Python中循环的超级快速替代品
我们在几乎所有的编程语言中都学习过循环。所以,默认情况下,只要有重复性的操作,我们就会开始实施循环。但是当我们处理大量的迭代(数百万/数十亿行)时,使用循环真是遭罪啊~,你可能会被卡住几个小时,后来才意识到这是行不通的。这就是在Python中实现向量化变得超级关键的地方。
什么是向量化?
向量化是在数据集上实现(NumPy)数组操作的技术。在后台,它对数组或系列的所有元素一次性进行操作(不像'for'
循环那样一次操作一行)。
在这篇博客中,我们将看看一些用例,在这些用例中,我们可以很容易地用向量化代替Python循环。这将帮助你节省时间,并在编码方面变得更加熟练。
使用案例1:
寻找数字的总和
首先,我们来看看一个基本的例子,即在Python中使用循环和向量来寻找数字的总和。
使用循环
import time
start = time.time()
# 遍历之和
total = 0
# 遍历150万个数字
for item in range(0, 1500000):
total = total + item
print('sum is:' + str(total))
end = time.time()
print(end - start)
#1124999250000
#0.14 Seconds
使用向量化
import numpy as np
start = time.time()
# 向量化和--使用numpy进行向量化
# np.range创建