【发布时间】:2018-04-27 15:48:18
【问题描述】:
我的代码需要在每次迭代中检查随机生成的数组是否是大矩阵的列。代码如下:
large_matrix=np.zeros((arr_size,loop_size))
flag = 0
while flag < loop_size:
arr = arr_generator(arr_size)
dist = np.sum(large_matrix-arr,axis=0)
if 0 in dist:
continue
else:
large_matrix[:,flag] = arr
flag += 1
arr 是二进制,因为大的_matrix 占用大量内存。这段代码很慢。 numpy中有没有更有效的方法来处理这个问题?
【问题讨论】:
-
有很多方法可以做到这一点,一种方法是求和
large_matrix并将其存储在循环之外,然后检查sum(arr)是否在该总和向量中。 -
感谢您的评论,
sum(large_matrix)会随着循环的进行而变化,另外,arr是随机生成的,这意味着数组中两种元素的排列很重要。所以我不能仅仅使用sum(arr)来区分不同的arr
标签: arrays python-3.x matrix