我想在数据框的列中搜索多个值
列中的值是唯一的。
并非所有价值观都必然存在,在这种情况下,它应该返回一些None
或-1
或其他任何值。
一个例子:
ddff = pd.DataFrame({'A':['10A','20B','30A','40T','G50'],
'B':[15,25,3,6,10]},
index = ['aa','bb','cc','dd','ee'])
look_for = ['10A','20ZZZ','G50','30A']
我总是可以遍历look_for
并搜索每个值。
如何应用搜索,以便结果将是每个值的索引(如果存在),以有效的方式(因为我知道列'A'
具有uniqu值)以获得以下结果:
['aa',None,'ee','cc']
答案 0 :(得分:0)
我想可以使用列表推导来完成,从而保留look_for
变量的顺序:
[ddff.A.loc[ddff.A == i].index[0] if i in ddff['A'].values else None for i in look_for]
Out[7]: ['aa', None, 'ee', 'cc']