我有一个包含两列的数据框:id_code和诊断
我有一个文件夹,其图像文件名与id_code相同。我想向数据框中添加新列:图像,高度和宽度
我有以下代码:
for idx, row in df_train.iterrows():
img = Image.open('train_images/{}.png'.format(row['id_code']))
height, width = img.size
row['image'] = img
row['height'] = height
row['width'] = width
在其余的代码行中,我尝试使用df_train.iloc[idx]['image'] = img
而不是row['image'] = img
,依此类推,但这会给我一个错误。
但是此代码更新行,但不更新数据框本身。
答案 0 :(得分:2)
我们应该按单元格为其分配
l=[]
for idx, row in df_train.iterrows():
img = Image.open('train_images/{}.png'.format(row['id_code']))
l.append(img)
height, width = img.size
df.loc[idx,'height'] = height
df.loc[idx,'width'] = width
df['img']=l