【发布时间】:2019-10-22 12:01:51
【问题描述】:
我得到了一个如下表所示的 csv 文件。对于每个文件夹,我希望返回最有可能成为“狗”的图像。每个文件夹只能返回一个图像。如果 Dog 不存在,则以最高概率将“Cat”作为主图像。如果没有猫,则将概率最高的鸟设为主图像,依此类推。
CSV:
FolderName ImageName Predictions Probabilities
ABC MyPet Dog 0.98
ABC HisPet Cat 0.90
DEF HerPet Bird 0.83
ABC NotPet Dog 0.23
DEF asdf Dog 0.78
DEF M123 Cat 0.19
GHI M123s Cat 0.89
GHI M13 Cat 0.19
我只能返回概率最高的 img,我怎样才能先优先化 Prediction 列,然后是 Probabilities 列?
df.loc[df.groupby('FolderName')['Probabilities'].idxmax()]
代码返回
FolderName ImageName Predictions Probabilities
ABC MyPet Dog 0.98
DEF asdf Bird 0.83
GHI M123s Cat 0.89
想要的结果:
FolderName ImageName Predictions Probabilities
ABC MyPet Dog 0.98
DEF asdf Dog 0.78
GHI M123s Cat 0.89
【问题讨论】:
标签: python pandas loops dataframe pandas-groupby