【问题标题】:Finding the labels in panda Dataframe efficiently高效查找 panda Dataframe 中的标签
【发布时间】:2021-05-16 03:04:36
【问题描述】:

我有大量的 png 文件,其中每个文件名都是一个唯一的 ID,在大熊猫 Dataframe 中有相应的数据。我可以通过 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])

【问题讨论】:

标签: python pandas dataframe search


【解决方案1】:

也许将文件名列表设置为一组,然后使用isin 方法一次获取所有索引。这有点难,因为你没有给我们一个可以使用的示例 DataFrame。

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

【讨论】:

    猜你喜欢
    • 2023-03-10
    • 2020-10-25
    • 1970-01-01
    • 2018-03-11
    • 2022-11-09
    • 1970-01-01
    • 2023-01-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多