如何在 numpy 中填充大数组?
How do I fill a large array in numpy?
我正在尝试填充一个大小为 2 ^ 32 的数组,但在填充的某个阶段,它显示进程已被终止
def MakeArr(n):
start_time = time.time()
arr = np.random.randint(1, 2**n, size=2**n, dtype=np.int64)
print(arr)
print("Time to create: %s sec" % (time.time() - start_time))
print("arr len:" + str(len(arr)))
return arr
sys.setrecursionlimit(1500); n = 32; arr = MakeArr(n)
enter image description here
2^32 的数组对于 python 或 numpy 来说可能太大而无法处理。您可以通过将 dtype 更改为较低的类型来获得更大的数组,例如 np.int8
.
我正在尝试填充一个大小为 2 ^ 32 的数组,但在填充的某个阶段,它显示进程已被终止
def MakeArr(n):
start_time = time.time()
arr = np.random.randint(1, 2**n, size=2**n, dtype=np.int64)
print(arr)
print("Time to create: %s sec" % (time.time() - start_time))
print("arr len:" + str(len(arr)))
return arr
sys.setrecursionlimit(1500); n = 32; arr = MakeArr(n)
enter image description here
2^32 的数组对于 python 或 numpy 来说可能太大而无法处理。您可以通过将 dtype 更改为较低的类型来获得更大的数组,例如 np.int8
.