我正在尝试使用numpy数组尽可能提高性能。
我有一个查找表,比如说:MYLUT = [0,2,5,7,8,12,-1,...,229]
我有一个形状为(300,200000)、具有uint8值的numpy数组MYARRAY。
将查找表应用于MYARRAY中的所有元素的最快方法是什么?
目前,我只是使用for循环。
我能做得更好吗?或者这已经是在Python中完成此操作的最快方式了?
我有一个查找表,比如说:MYLUT = [0,2,5,7,8,12,-1,...,229]
我有一个形状为(300,200000)、具有uint8值的numpy数组MYARRAY。
将查找表应用于MYARRAY中的所有元素的最快方法是什么?
目前,我只是使用for循环。
for i in range(300) :
for j in range(200000) :
MYARRAY[i][j] = MYLUT[MYARRAY[i][j]]
我能做得更好吗?或者这已经是在Python中完成此操作的最快方式了?
lut.take( arr, mode="clip" )
可以很有用; 默认值为mode="raise"
。 - denis