有效地在熊猫数据框中找到标签
Finding the labels in panda Dataframe efficiently
我有大量 png 文件,其中每个文件名都是一个唯一 ID,在大型 pandas 数据框中具有相应的数据。我可以通过 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])
也许将文件名列表做成一个集合,然后使用isin 方法一次获取所有索引。这有点困难,因为您没有给我们一个示例 DataFrame 来使用。
import os
files = os.listdir(path)
names = set((path.split('.')[0] for path in files))
mask = df['image_id'].isin(names)
我有大量 png 文件,其中每个文件名都是一个唯一 ID,在大型 pandas 数据框中具有相应的数据。我可以通过 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])
也许将文件名列表做成一个集合,然后使用isin 方法一次获取所有索引。这有点困难,因为您没有给我们一个示例 DataFrame 来使用。
import os
files = os.listdir(path)
names = set((path.split('.')[0] for path in files))
mask = df['image_id'].isin(names)