NumPy优于常规Python列表有什么优势?
我有大约100个金融市场系列,我打算创建一个100x100x100 = 100万个单元的立方体阵列.我将使用每个y和z对每个x进行回归(3变量),以使用标准错误填充数组.
我听说过,对于"大型矩阵",出于性能和可伸缩性的原因,我应该使用NumPy而不是Python列表.事实是,我知道Python列表,它们似乎对我有用.
如果我搬到NumPy,会有什么好处?
如果我有1000个系列(即立方体中有10亿个浮点单元)怎么办?
我mean
将statistics
模块的功能性能与简单的sum(l)/len(l)
方法进行了比较,发现由于mean
某种原因,该功能非常慢.我使用timeit
下面的两个代码片段来比较它们,有没有人知道是什么原因导致执行速度的巨大差异?我正在使用Python 3.5.
from timeit import repeat
print(min(repeat('mean(l)',
'''from random import randint; from statistics import mean; \
l=[randint(0, 10000) for i in range(10000)]''', repeat=20, number=10)))
Run Code Online (Sandbox Code Playgroud)
上面的代码在我的机器上执行大约0.043秒.
from timeit import repeat
print(min(repeat('sum(l)/len(l)',
'''from random import randint; from statistics import mean; \
l=[randint(0, 10000) for i in range(10000)]''', repeat=20, number=10)))
Run Code Online (Sandbox Code Playgroud)
上面的代码在我的机器上执行大约0.000565秒.