我正在尝试训练多对象分类器。为此,我将数据集信息存储到了当前的熊猫数据框架中:
|IMAGE_PATHS---|LABELS------------------------------------------|
|path_to_image1|[[c11 x11 y11 w11 h11],[c12 x12 y12 w12 h12]...]|
|path_to_image2|[[c21 x21 y21 w21 h21],[c22 x22 y22 w22 h22]...]|
|...
但是以这种方式拥有它并不容易。例如,如果我想查看图像中标记的所有独角兽,则需要遍历每行中的所有元素并寻找它们。如果此标签是DataFrames,我可以轻松地将它们过滤为df[df["label"] == "unicorn"]
。
那么有没有一种方法可以轻松地在此DataFrame中创建一个DataFrame或其他有趣的技巧?
答案 0 :(得分:0)
如果标签只是嵌套列表,则可以执行以下操作:
df[df['LABELS'].apply(lambda x: 'unicorn' in [item for sublist in x for item in sublist])]
这会将子列表拉平到lambda函数中的单个列表中,然后检查其是否包含“ unicorn”,遮盖df并最终返回过滤的df