有效地在熊猫数据框中查找标签

时间:2021-05-16 03:04:36

标签: python pandas dataframe search

我有大量的 png 文件,其中每个文件名都是一个唯一的 ID,在大熊猫数据框中具有相应的数据。我可以通过 os.list 找到文件名,然后尝试找到对应的“ind = df['image_id']==name”。然而,这是一个非常缓慢的过程。有没有更有效的方法?

import os
files = os.listdir(path)
for file in files:
    name = file.split(".")[0]
    index = df['image_id']==name
    print(df.loc[index].values[0][1])

1 个答案:

答案 0 :(得分:1)

也许可以将文件名列表变成一个集合,然后使用 isin 方法一次获取所有索引。这有点困难,因为您没有给我们提供一个示例 DataFrame 来使用。

import os
files = os.listdir(path)
names = set((path.split('.')[0] for path in files))
mask = df['image_id'].isin(names)