所以,这应该很容易,但对我来说似乎需要大量时间:我有一个只有两个值(例如 0 和 255)的 numpy 数组,我想以这种方式反转矩阵,所有值交换(0 变为 255,反之亦然)。矩阵大约有 2000³ 项,所以这是一项严肃的工作!我首先尝试了 numpy.invert 方法,这并不完全符合我的预期。所以我自己尝试通过“存储”这些值然后覆盖它们来做到这一点:
for i in range(array.length):
array[i][array[i]==255]=1
array[i][array[i]==0]=255
array[i][array[i]==1]=0
它的行为符合预期,但需要很长时间(我猜是因为 for 循环?)。如果我将其实现为多线程计算,其中每个线程“反转”一个较小的子数组,那会更快吗?还是有另一种更方便的方法?