擅长:python、mysql、java
<p>实际上没有一个好的方法来加速删除操作,正如您已经提到的,这种删除需要将数据复制到内存中。正如@WarrenWeckesser建议的那样,您可以做的一件事是组合多个删除操作,并一次应用它们。下面是一个例子:</p>
<pre><code>ranges = [(10, 20), (25, 30), (50, 100)]
mask = np.ones(len(array), dtype=bool)
# Update the mask with all the rows you want to delete
for start, end in ranges:
mask[start:stop] = False
# Apply all the changes at once
new_array = array[mask]
</code></pre>
<p>并行化这个并没有什么意义,因为你只是在内存中复制一些东西,所以无论如何这都是内存限制的,增加更多的CPU也无济于事。在</p>