熊猫删除具有多个字符串条件的行

时间:2019-04-19 07:45:04

标签: python pandas

我要删除代表不足的行。 我有一个数据框df:

classif ID    img
Cat     50    matrix(100,100)
Cat     12    matrix(100,100)
Circle  36    matrix(100,100)
Tree    23    matrix(100,100)
...

我可以看到time=df.classif.value_counts()

有多少个区域

我想找到至少出现50次的 classif

uu= df[df.classif.isin(time.index[time.values > 50])].classif.value_counts()

它将像这样返回一个数据帧DF2:

Index classif
cat   51
tree  150

所以这意味着我在数据框df中有51行带猫,有150行带树。

现在,我想从DF2中选择那些索引,并仅将 classif 在DF2索引中的行保留在DF中。

我已经做到了,但是没用:

for enough in uu.index.tolist():
    h=df.loc[df.classif != enough]

我认为问题已经得到解答,但是我可以创建一个有效的代码...感谢您的帮助

1 个答案:

答案 0 :(得分:1)

我刚刚找到了解决方法!

1 /将索引添加到df

df=df.set_index("classif",drop=False)

2 /使用放置

high_defect=df.drop(uu.index.tolist())