本篇文章是学习《Python金融大数据分析》第10章“高性能的Python”的笔记~
循环
下面以计算平均数为例。原始代码为:
import random
def average_py(n):
s=0
for i in range(n):
s+=random.random()
return s/n
若n=10000000,大致运行2s。
numpy
numpy的优势在于其向量化能力。从形式上看,Python级别的循环消失了,循环在更深的一级上。平均数可变为:
import random
import numpy as np
def average_np(n):
s=np.random.random(n)
return s.mean