我有一个包含图像ID、图像类和图像数据的熊猫数据框:
img_train.head(5)
ID index class data
0 10472 10472 0 [[[255, 255, 255, 0], [255, 255, 255, 0], [255...
1 7655 7655 0 [[[255, 255, 255, 0], [255, 255, 255, 0], [255...
2 6197 6197 0 [[[255, 255, 255, 0], [255, 255, 255, 0], [255...
3 9741 9741 0 [[[255, 255, 255, 0], [255, 255, 255, 0], [255...
4 9169 9169 0 [[[255, 255, 255, 0], [255, 255, 255, 0], [255...
我正在尝试将这些列中的每一列转换为numpy数组:
train_img_array = np.array([])
train_id_array = np.array([])
train_lab_array = np.array([])
count = 0
for index, row in img_train.iterrows():
imgid = row['ID']
imgclass = row['class']
imgdata = row['data']
#print(imgdata)
train_img_array = np.append(train_img_array, imgdata )
train_lab_array = np.append(train_lab_array, imgclass )
train_id_array = np.append(train_id_array, imgid )
但是,保存图像数据且类型为“object”的列不会转换为numpy数组中相应的行。例如,这是处理原始数据帧中58行后每个numpy数组的形状:
train_img_array.shape
train_lab_array.shape
train_id_array.shape
(93615200,)
(58,)
(58,)
我该怎么解决这个问题?