运行以下代码将导致内存使用迅速增加。
import numpy as np
import pylab as p
mu, sigma = 100, 15
x = mu + sigma*np.random.randn(100000)
for i in range(100):
n, bins, patches = p.hist(x, 5000)
然而,当用直接调用numpy直方图方法将调用替换为pylab时,内存使用量是恒定的(它的运行速度也明显加快)。
import numpy as np
mu, sigma = 100, 15
x = mu + sigma*np.random.randn(100000)
for i in range(100):
n, bins = np.histogram(x, 5000)
我的印象是pylab正在使用numpy直方图函数。某处肯定有错误......
答案 0 :(得分:2)
Matplotlib生成图表。 NumPy没有。将p.show()
添加到您的第一个代码中,以查看工作的进展情况。
import numpy as np
import pylab as p
mu, sigma = 100, 15
x = mu + sigma*np.random.randn(100000)
n, bins, patches = p.hist(x, 5000)
p.show()
您可能希望先使用较小的号码np.random.randn(100000)
来快速查看内容。
修改强>
创建相同的绘图100次真的没有意义。