在形状 (45, 2040, 5200,3) 的 numpy.ndarray 上迭代 45 次,无法将 int 连接到元组



我正在尝试迭代45个图像数据,这些数据具有形状(20405200(和3个颜色通道。numpy数组数据具有形状(4520405200,3(。我正在尝试将所有45张图像的(20405200(值作为np.zeros

marker_image=[]
i=0
for i in enumerate(data):
imm = np.zeros(data[i].shape[:2],dtype=np.uint8)
#marker_image.npbytes
marker_image.append(imm)
i+1 

获取此错误"只能将元组(而不是"int"(连接到元组">

如何解决此问题?

您所坚持的错误与numpylist或任何东西无关,而只是与您使用enumerate的方式有关。这个函数接受一个可迭代的值,例如listnumpy数组和类似的变量,为您提供一个元组。元组的第一个元素是值的索引,第二个值是可迭代变量中的元素。因此,i是一个元组,而您正试图在元组上调用i += 1,这是不可接受的。enumerate通常是这样使用的:

marker_image=[]
i=0
for index, value in enumerate(data):
imm = np.zeros(data[i].shape[:2],dtype=np.uint8)
#marker_image.npbytes
marker_image.append(imm)
# What you want to do in the rest code

最新更新