我注意到,尝试加速涉及通过向量化python for
循环来生成大量随机数的numpy代码可能会产生相反的结果并且可能会降低它的速度.以下代码的输出是:took time 0.588
和took time 0.789
.这违背了我对如何最好地编写numpy代码的直觉,我想知道为什么会出现这种情况?
import time
import numpy as np
N = 50000
M = 1000
repeats = 10
start = time.time()
for i in range(repeats):
for j in range(M):
r = np.random.randint(0,N,size=N)
print 'took time ',(time.time()-start)/repeats
start = time.time()
for i in range(repeats):
r = np.random.randint(0,N,size=(N,M))
print 'took time ',(time.time()-start)/repeats
Run Code Online (Sandbox Code Playgroud) 按照有关如何绘制多色线的示例,我可以绘制基于某些颜色图沿其长度改变颜色的线。尝试向情节添加图例我添加了以下代码:
plt.legend([lc], ["test"],\
handler_map={lc: matplotlib.legend_handler.HandlerLineCollection()})
Run Code Online (Sandbox Code Playgroud)
这为绘图添加了一个图例(下图),但图例中图标的颜色与线条的颜色完全无关。这是尝试向该图添加图例的错误方法,还是 matplotlib 的限制?
python ×3
numpy ×2
arrays ×1
lapack ×1
matlab ×1
matplotlib ×1
matrix ×1
python-2.7 ×1
random ×1