我有一个由N个值组成的大型np.array,我需要随机选择其中10%的值:
choice=random.sample(range(N), int(N*percent)) # percent has values 0-1
newarr=arr[choice]
N可能有超过200万个值。
实际上,我也需要另外90%的值的数组。目前我使用以下代码,但运行非常缓慢:
def buildRevChoice(choice, nevents):
revChoice=[]
for i in range(N):
if not i in choice:
revChoice.append(i)
return revChoice
你能想到一种加快这个过程的方法吗?
buildRevChoice
中,创建一个从choice
到set
的映射以加速查找。 - tobias_k