我正在使用numpy创建一个边长为100的立方体数组,因此总共包含100万个条目。对于这一百万个条目中的每一个,我都插入了一个100x100矩阵,其条目由随机生成的数字组成。 我使用以下代码执行此操作:
import random
from numpy import *
cube = arange(1000000).reshape(100,100,100)
for element in cube.flat:
matrix = arange(10000).reshape(100,100)
for entry in matrix.flat:
entry = random.random()*100
element = matrix
我本以为这个过程会花费一段时间,但是产生了100亿个随机数后,我不确定我的电脑是否能够处理。这样的数组需要多少内存?内存大小是否会成为一个限制因素,如果我的电脑没有足够的内存,是否无法生成该数组?
另外,如果有更有效的实现该代码的方法,我将不胜感激 :)
double
精度,每个占8字节,如果你真的想要存储100亿个这样的数,那就需要80GB的内存。如果你需要问这个问题,那么你的计算机内存不够。话虽如此,看起来你正在创建它们但并没有存储它们,所以你应该没问题。 - Gabe