row.name дает False, но оно должно давать Cancer или NonCancer. row.filename, row.xmin и т. д. все работают хорошо, кроме row.name.
Может кто-нибудь помочь мне с этой проблемой ...
Код
train = pd.read_csv('train.csv')
for _,row in train[train.filename == "Im001_1.jpg"].iterrows():
xmin = row.xmin
xmax = row.xmax
ymin = row.ymin
ymax = row.ymax
row
width = xmax - xmin
height = ymax - ymin
# assign different color to different classes of objects
if row.name == 'Cancer':
edgecolor = 'r'
ax.annotate('Cancer', xy=(xmax-40,ymin+20))
elif row.name == 'NonCancer':
edgecolor = 'b'
ax.annotate('NonCancer', xy=(xmax-40,ymin+20))
# add bounding boxes to the image
rect = patches.Rectangle((xmin,ymin), width, height, edgecolor = edgecolor, facecolor = 'none')
ax.add_patch(rect)
выходные данные row и row.filename показаны ниже. row.name не работает, показывает 0 (False).
Вывод
row
Out[29]:
filename Im001_1.jpg
name Cancer
xmin 1060
ymin 313
xmax 1167
ymax 423
Name: 0, dtype: object
row.filename
Out[30]: 'Im001_1.jpg'
row.name
Out[31]: 0