让我们说我有一个不同形状的Numpy数组列表,需要用1替换所有255的值。
A = np.array([[0,255], [0,0]])
B = np.array([[0, 255,255], [255,0,0]])
list_of_array = [A, B] # list could have many more arrays
np.place()
和X[X == 255] = 1
等方法不适用于列表。
答案 0 :(得分:2)
如果你必须有一个数组列表,并希望修改这些数组中的值而不是创建新数组,那么你可以通过迭代列表来完成它。
import numpy as np
A = np.array([[0,255], [0,0]])
B = np.array([[0, 255,255], [255,0,0]])
list_of_array = [A, B] # list could have many more arrays
for array in list_of_array:
array[array == 255] = 1
答案 1 :(得分:1)
您可以在列表推导中使用np.where
来创建修改后的数组的新列表:
updated_arrays = [np.where(a == 255, 1, a) for a in list_of_array]