2017-05-28 87 views
1

我有一个熊猫指数,并且该指数中的整数位置列表可能并不全部存在于该指数中。例如。熊猫指数的软选择

idx = pd.Index(['A', 'B', 'C']) 

l1 = np.array([1, 2]) 
l2 = np.array([1, 4]) 

现在

idx.loC# doesn't exist 
idx[l1] # => ['B', 'C'] 
idx[l2] # KeyError 

如何获得

idx.magic(l2) # => ['B'] 

现在我做的事情大致是

pd.DataFrame(idx, columns=['name']).merge(pd.DataFrame(l2), how='left', left_on='name', right_on...) 

这是毛。

回答

2

据我所知Index没有针对这种情况提供任何特殊的查找,但你可以简单地过滤索引,就像这样:

l2 = l2[l2 < len(idx)] 

idx[l2] 
Out[15]: Index(['B'], dtype='object')