Python 根据文件夹中是否存在来自df的文件名,在df中删除行
我有一个包含40108行的数据帧和一个仅包含图片的文件夹,使用的是包含997个文件的40108张图片的样本。图像的文件名对应于df中“imdbId”列中的行,另外还有.jpg后缀 我想删除df中imdbId列中的名称在我的文件夹中没有任何对应文件名的所有行,并保留其余行。这意味着在运行代码之后应该剩下997行 例如: df中的位置1为114709。文件夹中不存在名为114709.jpg的图片,这意味着应删除此行 df中的位置2为113497。文件夹中存在名为113497.jpg的图片。这场争吵应该继续下去。 ... 对于所有行,依此类推 我一直在尝试使用boolean创建索引,并使用os.path.isfile创建for/if循环,但我无法将df中的imdbId正确插入任何条件 我的笔记本中的示例: exists=os.path.isfile'moviegenre/SampleMoviePosters/**114709.jpg** 如果存在: 什么也不做,让争吵继续下去。 其他: 投行Python 根据文件夹中是否存在来自df的文件名,在df中删除行,python,pandas,boolean,Python,Pandas,Boolean,我有一个包含40108行的数据帧和一个仅包含图片的文件夹,使用的是包含997个文件的40108张图片的样本。图像的文件名对应于df中“imdbId”列中的行,另外还有.jpg后缀 我想删除df中imdbId列中的名称在我的文件夹中没有任何对应文件名的所有行,并保留其余行。这意味着在运行代码之后应该剩下997行 例如: df中的位置1为114709。文件夹中不存在名为114709.jpg的图片,这意味着应删除此行 df中的位置2为113497。文件夹中存在名为113497.jpg的图片。这场争吵应
我们将非常感谢您的帮助。提前谢谢 通常在数据帧的行或列上进行迭代,在循环之前有几种替代方法可供测试 在这种情况下,您可以向imdbid列添加一个函数,该函数根据图像的存在为每个值获取true或false 然后,您可以尝试删除那些没有图像的行,但在pandas中所做的通常是获得一个只包含您感兴趣的数据的新数据帧 例如: mkdir-p电影类型/样片电影海报/ touch moviegenre/SampleMoviePosters/114709.jpg 导入操作系统 作为pd进口熊猫 def图像_existsimdbid: filepath=fmoviegenre/SampleMoviePosters/{imdbid}.jpg 返回os.path.isFilePath 数据=[[114709'动画|冒险|喜剧'],[113497'动作|冒险|家庭]] df=pd.DataFramedata,columns=['imdbid','Genre'] df_with_images=df[df[imdbid]。applyimage_存在]
Python没有数据帧。大概你在用熊猫什么的?请回答您的问题并添加相关标签。