使用唯一值数组过滤熊猫数据框

时间:2019-12-04 11:49:45

标签: python pandas numpy dataframe

我有一个包含两列的Pandas DF,一列包含唯一的文件名,另一列包含该文件名的标签。我还有一个文件名的numpy数组,可用于训练模型。我需要从DF中提取与可以使用的文件名匹配的标签。我尝试过:

x = []

for i in nparray:
  for j in DF['filenames']:
    if DF['filenames'][j] == nparray[i]:
      x.append(DF['label'][j])

如果执行此操作,将得到DF首个文件名的关键错误

2 个答案:

答案 0 :(得分:1)

尝试这些

DF[DF['filenames'].isin(nparray)]

仅获取标签列

DF[DF['filenames'].isin(nparray)]['label']

答案 1 :(得分:1)

list(DF[DF['filenames'].isin(nparray)]['label'])

将为您提供一个列表,其中包含label中有DF个,其中filenames中的值位于nparray