在python中从Dataframe中删除特定行

在python中从Dataframe中删除特定行,python,Python,我想删除python中列表中没有图像名称的所有数据帧行。以下是具有以下数据帧和列表的输出示例: Dataframe: ImageName | A 0001.jpg | 1 0002.jpg | 1 0003.jpg | 1 0004.jpg | 1 List: '0003.jpg' '0001.jpg' Output dataframe: ImageName | A 0001.jpg | 1 0

我想删除python中列表中没有图像名称的所有数据帧行。以下是具有以下数据帧和列表的输出示例:

Dataframe:

ImageName    |   A    
0001.jpg     |   1
0002.jpg     |   1
0003.jpg     |   1
0004.jpg     |   1

List:
'0003.jpg'
'0001.jpg'

Output dataframe:
ImageName    |   A    
0001.jpg     |   1
0003.jpg     |   1
这是我写的代码:

df = pd.read_csv("./imagenames.csv")
for index, row in df.iterrows():        
    a1=df.iloc[index][0]
    a2=train_gen_labels
    result=pd.Series(a1).isin(a2).any()
    if(result==False):
        df=df.drop(index)
    else : positive=positive+1


但是,此代码返回错误:
单个位置索引器超出范围

您可以完全避免
for
循环,并通过以下方法完成工作:

df[df.ImageName.isin(train_gen_labels)]

df.ImageName.isin(序列发电机标签)
创建一个掩码,以仅选择序列发电机标签列表中ImageName值所在的行。

而不是for?如果是这样的话,那就不行了。它给出错误
KeyError:0