首页 > 解决方案 > 在数据框中搜索数据

问题描述

首先,如果这个问题太简单/太明显,我深表歉意。

我的问题是:

我正在使用嵌套循环来检查某些图像是否列在数据框('old_df')中。如果它们存在,我将它们添加到一个空列表('new_list')中。

有没有更快或更高效的方法来做到这一点?

images = []

for root, dirs, files in os.walk('/gdrive/MyDrive/CNN_Tute/data/images/'):
  for file in files:
    images.append(file)

new_list = []

for i in range(len(images)):
  for j in range(len(old_df)):
    if images[i] == old_df.iloc[j, 0]:
      new_list.append(old_df.iloc[j, :])

标签: pythonpandas

解决方案


如果想按位置测试第一列:

images = [file for root, dirs, files in os.walk('/gdrive/MyDrive/CNN_Tute/data/images/' 
          for file in files]

new_list = old_df.iloc[old_df.iloc[:, 0].isin(images).to_numpy(), 0].tolist()

推荐阅读